Skip to content

Commit 3b711dd

Browse files
author
Claudiu Zissulescu
committed
Update doc; allow FPU options only for ARC HS
1 parent 34aa5bc commit 3b711dd

File tree

3 files changed

+35
-24
lines changed

3 files changed

+35
-24
lines changed

gcc/ChangeLog.ARC

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
2013-03-14 Claudiu Zissulescu <[email protected]>
2+
3+
* config/arc/arc.c (arc_init): Allow FPU options only for ARC HS.
4+
* doc/invoke.texi: Update document, naming.
5+
16
2013-03-13 Claudiu Zissulescu <[email protected]>
27

38
* config/arc/arc.h (ASM_SPEC): Pass mlock option to the

gcc/config/arc/arc.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -791,6 +791,10 @@ arc_init (void)
791791
break;
792792
}
793793

794+
/* FPU support only for V2 */
795+
if (!TARGET_HS && (arc_fpu_build > 0))
796+
error ("FPU options are only available for ARC HS");
797+
794798
/* Support mul64 generation only for ARC600. */
795799
if (TARGET_MUL64_SET && (TARGET_ARC700 || TARGET_V2))
796800
error ("-mmul64 not supported for ARC700 or ARCv2");

gcc/doc/invoke.texi

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ Objective-C and Objective-C++ Dialects}.
487487

488488
@emph{ARC Options} @gccoptlist{-mbarrel-shifter -mcode-density @gol
489489
-mcpu=@var{cpu} -mA6 -mARC600 -mA7 -mARC700 -mEM -mARCv2EM -mav2em @gol
490-
-mav2hs -mHS -mARCv2HS -matomic -mfpu=@var{fpu} @gol
490+
-mav2hs -mHS -mARCv2HS -matomic -mfpu=@var{fpu} -mll64 @gol
491491
-mdiv-rem -mdpfp -mdpfp-compact -mdpfp-fast -mno-dpfp-lrsr -mea @gol
492492
-mforce-short -mmpy -mmpy-option=@var{multo} -mmpy16 -mmul32x16 -mmul64 @gol
493493
-mnorm -mspfp -mspfp-compact -mspfp-fast -msimd -msoft-float -mswap @gol
@@ -11158,12 +11158,11 @@ purpose. The default is @option{-m1reg-none}.
1115811158

1115911159
A range of @samp{-m} options are defined for Synopsys DesignWare ARC.
1116011160
There are two major flavors of the tool chain. The original ARCompact
11161-
instruction set for the ARC600 and ARC700 families and the ARCompact
11162-
v2 instruction set for the ARC v2 EM or HS family. For the latter the
11163-
tool chain must be built using the configuration option
11164-
@option{--with-cpu=EM}. In general ARC v2 options are only available
11165-
when the tool chain has been configured using @option{--with-cpu=EM},
11166-
@option{--with-cpu=EM}, or using @option{--enable-multilib}.
11161+
instruction set for the ARC 600 and ARC 700 families and the ARCv2
11162+
instruction set for the ARC EM or ARC HS family. For the latter, ARC v2
11163+
options are only available when the tool chain has been configured
11164+
using @option{--with-cpu=EM}, @option{--with-cpu=HS}, or using
11165+
@option{--enable-multilib}.
1116711166

1116811167
ARC is a configurable architecture. Requesting features from the
1116911168
compiler that are not provided on a particular hardware implementation
@@ -11182,7 +11181,7 @@ unless @samp{-mcpu=ARC601} is in effect.
1118211181

1118311182
@item -mcode-density
1118411183
@opindex mcode-density
11185-
Enable code density instructions for ARC v2 EM.
11184+
Enable code density instructions for ARC EM.
1118611185

1118711186
@item -mcpu=@var{cpu}
1118811187
@opindex mcpu
@@ -11195,39 +11194,39 @@ values for @var{cpu} are
1119511194
@opindex mA6
1119611195
@opindex mARC600
1119711196
@item ARC600
11198-
Compile for ARC600. Aliases: @option{-mA6}, @option{-mARC600}@.
11197+
Compile for ARC 600. Aliases: @option{-mA6}, @option{-mARC600}@.
1119911198

1120011199
@item ARC601
1120111200
@opindex mARC600
11202-
Compile for ARC601. Alias: @option{-mARC601}@.
11201+
Compile for ARC 601. Alias: @option{-mARC601}@.
1120311202

1120411203
@item ARC700
1120511204
@opindex mA7
1120611205
@opindex mARC700
11207-
Compile for ARC700. Aliases: @option{-mA7}, @option{-mARC700}. This
11206+
Compile for ARC 700. Aliases: @option{-mA7}, @option{-mARC700}. This
1120811207
option is default on when configured with @samp{--with-cpu=arc700}@.
1120911208

1121011209
@item ARCv2EM
1121111210
@opindex mEM
1121211211
@opindex mARCv2EM
1121311212
@opindex mav2em
11214-
Compile for ARC v2 EM. Aliases: @option{-mEM},
11213+
Compile for ARC EM. Aliases: @option{-mEM},
1121511214
@option{-mARCv2EM}, @option{-mav2em}. This option is default on when
1121611215
the tool chain is configured with @samp{--with-cpu=EM}@.
1121711216

1121811217
@item ARCv2HS
1121911218
@opindex mHS
1122011219
@opindex mARCv2HS
1122111220
@opindex mav2hs
11222-
Compile for ARC v2 HS cpu family. Aliases: @option{-mHS},
11221+
Compile for ARC HS cpu family. Aliases: @option{-mHS},
1122311222
@option{-mARCv2HS}, @option{-mav2hs}. This option is default on when
1122411223
the tool chain is configured with @samp{--with-cpu=HS}@.
1122511224

1122611225
@end table
1122711226

1122811227
@item -mdiv-rem
1122911228
@opindex mdiv-rem
11230-
Enable DIV/REM instructions for ARC v2 EM. Only available when the
11229+
Enable DIV/REM instructions for ARC EM. Only available when the
1123111230
tool chain is configured with @samp{--with-cpu=EM}@.
1123211231

1123311232
@item -mfpu=@var{fpu}
@@ -11315,11 +11314,11 @@ is otherwise not available as an option.
1131511314
@item -mmpy
1131611315
@opindex mmpy
1131711316
When using the negative variant, the compiler does not generate
11318-
multiply instructions for ARC700, and ARCv2 variants.
11317+
multiply instructions for ARC 700, and ARCv2 variants.
1131911318

1132011319
@item -mmpy-option=@var{multo}
1132111320
@opindex mmpy-option
11322-
Compile ARC v2 EM code with a multiplier design option. @samp{wlh1} is
11321+
Compile ARC EM code with a multiplier design option. @samp{wlh1} is
1132311322
the default value. The recognized values for @var{multo} are:
1132411323

1132511324
@table @samp
@@ -11393,8 +11392,7 @@ is equivalent with -mmpy-option=1
1139311392

1139411393
@item -mmul32x16
1139511394
@opindex mmul32x16
11396-
Generate 32x16 bit multiply and mac instructions. Not valid for ARC
11397-
v2 EM.
11395+
Generate 32x16 bit multiply and mac instructions. Not valid for ARC EM.
1139811396

1139911397
@item -mmul64
1140011398
@opindex mmul64
@@ -11439,6 +11437,10 @@ Generate swap instructions.
1143911437
This enables Locked Load/Store Conditional extension, and to use them
1144011438
for implementing the GCC's atomic builtins.
1144111439

11440+
@item -mll64
11441+
@opindex mll64
11442+
This enables 64-bit load/store extension.
11443+
1144211444
@end table
1144311445

1144411446
The following options are passed through to the assembler, and also
@@ -11726,22 +11728,22 @@ Supported values for @var{cpu} are
1172611728

1172711729
@table @samp
1172811730
@item ARC600
11729-
Tune for ARC600 cpu.
11731+
Tune for ARC 600 cpu.
1173011732

1173111733
@item ARC601
11732-
Tune for ARC601 cpu.
11734+
Tune for ARC 601 cpu.
1173311735

1173411736
@item ARC700
11735-
Tune for ARC700 cpu with standard multiplier block.
11737+
Tune for ARC 700 cpu with standard multiplier block.
1173611738

1173711739
@item ARC700-xmac
11738-
Tune for ARC700 cpu with XMAC block.
11740+
Tune for ARC 700 cpu with XMAC block.
1173911741

1174011742
@item ARC725D
11741-
Tune for ARC725D cpu.
11743+
Tune for ARC 725D cpu.
1174211744

1174311745
@item ARC750D
11744-
Tune for ARC750D cpu.
11746+
Tune for ARC 750D cpu.
1174511747

1174611748
@end table
1174711749

0 commit comments

Comments
 (0)