-#define TARGET_SWITCHES \
-{ { "80387", MASK_80387, "Use hardware fp" }, \
- { "no-80387", -MASK_80387, "Do not use hardware fp" },\
- { "hard-float", MASK_80387, "Use hardware fp" }, \
- { "soft-float", -MASK_80387, "Do not use hardware fp" },\
- { "no-soft-float", MASK_80387, "Use hardware fp" }, \
- { "386", 0, "Optimize for i80386" }, \
- { "486", 0, "Optimize for i80486" }, \
- { "pentium", 0, "Optimize for Pentium" }, \
- { "pentiumpro", 0, "Optimize for Pentium Pro, Pentium II" },\
- { "rtd", MASK_RTD, "Alternate calling convention" },\
- { "no-rtd", -MASK_RTD, "Use normal calling convention" },\
- { "align-double", MASK_ALIGN_DOUBLE, "Align some doubles on dword boundary" },\
- { "no-align-double", -MASK_ALIGN_DOUBLE, "Align doubles on word boundary" }, \
- { "svr3-shlib", MASK_SVR3_SHLIB, "Uninitialized locals in .bss" }, \
- { "no-svr3-shlib", -MASK_SVR3_SHLIB, "Uninitialized locals in .data" }, \
- { "ieee-fp", MASK_IEEE_FP, "Use IEEE math for fp comparisons" }, \
- { "no-ieee-fp", -MASK_IEEE_FP, "Do not use IEEE math for fp comparisons" }, \
- { "fp-ret-in-387", MASK_FLOAT_RETURNS, "Return values of functions in FPU registers" }, \
- { "no-fp-ret-in-387", -MASK_FLOAT_RETURNS , "Do not return values of functions in FPU registers"}, \
- { "no-fancy-math-387", MASK_NO_FANCY_MATH_387, "Do not generate sin, cos, sqrt for 387" }, \
- { "fancy-math-387", -MASK_NO_FANCY_MATH_387, "Generate sin, cos, sqrt for FPU"}, \
- { "omit-leaf-frame-pointer", MASK_OMIT_LEAF_FRAME_POINTER, "Omit the frame pointer in leaf functions" }, \
- { "no-omit-leaf-frame-pointer",-MASK_OMIT_LEAF_FRAME_POINTER, "" }, \
- { "no-wide-multiply", MASK_NO_WIDE_MULTIPLY, "multiplies of 32 bits constrained to 32 bits" }, \
- { "wide-multiply", -MASK_NO_WIDE_MULTIPLY, "multiplies of 32 bits are 64 bits" }, \
- { "schedule-prologue", MASK_SCHEDULE_PROLOGUE, "Schedule function prologues" }, \
- { "no-schedule-prologue", -MASK_SCHEDULE_PROLOGUE, "" }, \
- { "debug-addr", MASK_DEBUG_ADDR, 0 /* intentionally undoc */ }, \
- { "no-debug-addr", -MASK_DEBUG_ADDR, 0 /* intentionally undoc */ }, \
- { "move", -MASK_NO_MOVE, "Generate mem-mem moves" }, \
- { "no-move", MASK_NO_MOVE, "Don't generate mem-mem moves" }, \
- { "debug-arg", MASK_DEBUG_ARG, 0 /* intentionally undoc */ }, \
- { "no-debug-arg", -MASK_DEBUG_ARG, 0 /* intentionally undoc */ }, \
- { "stack-arg-probe", MASK_STACK_PROBE, "Enable stack probing" }, \
- { "no-stack-arg-probe", -MASK_STACK_PROBE, "" }, \
- { "windows", 0, 0 /* intentionally undoc */ }, \
- { "dll", 0, 0 /* intentionally undoc */ }, \
- SUBTARGET_SWITCHES \
- { "", MASK_SCHEDULE_PROLOGUE | TARGET_DEFAULT, 0 }}
+#define TARGET_ALIGN_STRINGOPS (!(target_flags & MASK_NO_ALIGN_STROPS))
+#define TARGET_INLINE_ALL_STRINGOPS (target_flags & MASK_INLINE_ALL_STROPS)
+
+#define ASSEMBLER_DIALECT ((target_flags & MASK_INTEL_SYNTAX) != 0)
+
+#define TARGET_SWITCHES \
+{ { "80387", MASK_80387, "Use hardware fp" }, \
+ { "no-80387", -MASK_80387, "Do not use hardware fp" }, \
+ { "hard-float", MASK_80387, "Use hardware fp" }, \
+ { "soft-float", -MASK_80387, "Do not use hardware fp" }, \
+ { "no-soft-float", MASK_80387, "Use hardware fp" }, \
+ { "386", 0, "Same as -mcpu=i386" }, \
+ { "486", 0, "Same as -mcpu=i486" }, \
+ { "pentium", 0, "Same as -mcpu=pentium" }, \
+ { "pentiumpro", 0, "Same as -mcpu=pentiumpro" }, \
+ { "rtd", MASK_RTD, "Alternate calling convention" }, \
+ { "no-rtd", -MASK_RTD, "Use normal calling convention" }, \
+ { "align-double", MASK_ALIGN_DOUBLE, \
+ "Align some doubles on dword boundary" }, \
+ { "no-align-double", -MASK_ALIGN_DOUBLE, \
+ "Align doubles on word boundary" }, \
+ { "svr3-shlib", MASK_SVR3_SHLIB, \
+ "Uninitialized locals in .bss" }, \
+ { "no-svr3-shlib", -MASK_SVR3_SHLIB, \
+ "Uninitialized locals in .data" }, \
+ { "ieee-fp", MASK_IEEE_FP, \
+ "Use IEEE math for fp comparisons" }, \
+ { "no-ieee-fp", -MASK_IEEE_FP, \
+ "Do not use IEEE math for fp comparisons" }, \
+ { "fp-ret-in-387", MASK_FLOAT_RETURNS, \
+ "Return values of functions in FPU registers" }, \
+ { "no-fp-ret-in-387", -MASK_FLOAT_RETURNS , \
+ "Do not return values of functions in FPU registers"}, \
+ { "no-fancy-math-387", MASK_NO_FANCY_MATH_387, \
+ "Do not generate sin, cos, sqrt for FPU" }, \
+ { "fancy-math-387", -MASK_NO_FANCY_MATH_387, \
+ "Generate sin, cos, sqrt for FPU"}, \
+ { "omit-leaf-frame-pointer", MASK_OMIT_LEAF_FRAME_POINTER, \
+ "Omit the frame pointer in leaf functions" }, \
+ { "no-omit-leaf-frame-pointer",-MASK_OMIT_LEAF_FRAME_POINTER, "" }, \
+ { "debug-addr", MASK_DEBUG_ADDR, 0 /* undocumented */ }, \
+ { "no-debug-addr", -MASK_DEBUG_ADDR, 0 /* undocumented */ }, \
+ { "debug-arg", MASK_DEBUG_ARG, 0 /* undocumented */ }, \
+ { "no-debug-arg", -MASK_DEBUG_ARG, 0 /* undocumented */ }, \
+ { "stack-arg-probe", MASK_STACK_PROBE, "Enable stack probing" }, \
+ { "no-stack-arg-probe", -MASK_STACK_PROBE, "" }, \
+ { "windows", 0, 0 /* undocumented */ }, \
+ { "dll", 0, 0 /* undocumented */ }, \
+ { "intel-syntax", MASK_INTEL_SYNTAX, \
+ "Emit Intel syntax assembler opcodes" }, \
+ { "no-intel-syntax", -MASK_INTEL_SYNTAX, "" }, \
+ { "align-stringops", -MASK_NO_ALIGN_STROPS, \
+ "Align destination of the string operations" }, \
+ { "no-align-stringops", MASK_NO_ALIGN_STROPS, \
+ "Do not align destination of the string operations" }, \
+ { "inline-all-stringops", MASK_INLINE_ALL_STROPS, \
+ "Inline all known string operations" }, \
+ { "no-inline-all-stringops", -MASK_INLINE_ALL_STROPS, \
+ "Do not inline all known string operations" }, \
+ { "push-args", -MASK_NO_PUSH_ARGS, \
+ "Use push instructions to save outgoing arguments" }, \
+ { "no-push-args", MASK_NO_PUSH_ARGS, \
+ "Do not use push instructions to save outgoing arguments" }, \
+ { "accumulate-outgoing-args", MASK_ACCUMULATE_OUTGOING_ARGS, \
+ "Use push instructions to save outgoing arguments" }, \
+ { "no-accumulate-outgoing-args",-MASK_ACCUMULATE_OUTGOING_ARGS, \
+ "Do not use push instructions to save outgoing arguments" }, \
+ SUBTARGET_SWITCHES \
+ { "", TARGET_DEFAULT, 0 }}