1999-05-03 07:29:11 +00:00
|
|
|
|
-*- text -*-
|
2008-04-10 12:45:18 +00:00
|
|
|
|
* New sub-option added to the assembler's -a command line switch to
|
|
|
|
|
generate a listing output. The 'g' sub-option will insert into the listing
|
|
|
|
|
various information about the assembly, such as assembler version, the
|
|
|
|
|
command line options used, and a time stamp.
|
|
|
|
|
|
binutils/
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* dwarf.c (dwarf_regnames_i386): Add AVX registers.
(dwarf_regnames_x86_64): Likewise.
gas/
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* NEWS: Mention AES, CLMUL, AVX/FMA and -msse2avx.
* doc/c-i386.texi: Add avx, aes, clmul and fma to -march=.
Document -msse2avx, .avx, .aes, .clmul and .fma.
* config/tc-i386.c (YMMWORD_MNEM_SUFFIX): New.
(vex_prefix): Likewise.
(sse2avx): Likewise.
(CPU_FLAGS_ARCH_MATCH): Likewise.
(CPU_FLAGS_64BIT_MATCH): Likewise.
(CPU_FLAGS_32BIT_MATCH): Likewise.
(CPU_FLAGS_PERFECT_MATCH): Likewise.
(regymm): Likewise.
(vex_imm4): Likewise.
(fits_in_imm4): Likewise.
(build_vex_prefix): Likewise.
(VEX_check_operands): Likewise.
(bad_implicit_operand): Likewise.
(OPTION_MSSE2AVX): Likewise.
(T_YMMWORD): Likewise.
(_i386_insn): Add vex.
(cpu_arch): Add .avx, .aes, .clmul and .fma.
(cpu_flags_match): Changed to take a pointer to const template.
Enable encoding SSE instructions with VEX prefix for -msse2avx.
(match_mem_size): Also check ymmword.
(operand_type_match): Clear ymmword.
(md_begin): Allow '_' in mnemonic.
(type_names): Add OPERAND_TYPE_VEX_IMM4.
(process_immext): Update assert.
(md_assemble): Don't call process_immext if sse2avx and immext
are true. Call build_vex_prefix if vex is true.
(parse_insn): Updated for cpu_flags_match.
(swap_operands): Handle 5 operands.
(match_template): Handle 5 operands. Updated for cpu_flags_match.
Check regymm. Call VEX_check_operands. Handle YMMWORD_MNEM_SUFFIX.
(process_suffix): Handle YMMWORD_MNEM_SUFFIX.
(check_byte_reg): Check regymm.
(process_operands): Duplicate the destination register for
-msse2avx if needed.
(build_modrm_byte): Updated for instructions with VEX encoding.
(output_insn): Output VEX prefix if needed.
(md_longopts): Add msse2avx.
(md_parse_option): Handle OPTION_MSSE2AVX.
(md_show_usage): Add avx, aes, clmul, fma and -msse2avx.
(intel_e09): Support YMMWORD.
(intel_e11): Likewise.
(intel_get_token): Likewise.
gas/testsuite/
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run aes, aes-intel, x86-64-aes,
x86-64-aes-intel, avx, avx-intel, inval-avx, x86-64-avx,
x86-64-avx-intel and x86-64-inval-avx.
* gas/cfi/cfi-i386.s: Add tests for AVX register maps.
* gas/cfi/cfi-x86_64.s: Likewise.
* gas/i386/aes.d: New.
* gas/i386/aes.s: Likewise.
* gas/i386/aes-intel.d: Likewise.
* gas/i386/avx.d: Likewise.
* gas/i386/avx.s: Likewise.
* gas/i386/avx-intel.d: Likewise.
* gas/i386/clmul.d: Likewise.
* gas/i386/clmul-intel.d: Likewise.
* gas/i386/clmul.s: Likewise.
* gas/i386/i386.exp: Likewise.
* gas/i386/inval-avx.l: Likewise.
* gas/i386/inval-avx.s: Likewise.
* gas/i386/sse2avx.d: Likewise.
* gas/i386/sse2avx.s: Likewise.
* gas/i386/x86-64-aes.d: Likewise.
* gas/i386/x86-64-aes.s: Likewise.
* gas/i386/x86-64-aes-intel.d: Likewise.
* gas/i386/x86-64-avx.d: Likewise.
* gas/i386/x86-64-avx.s: Likewise.
* gas/i386/x86-64-avx-intel.d: Likewise.
* gas/i386/x86-64-clmul.d: Likewise.
* gas/i386/x86-64-clmul-intel.d: Likewise.
* gas/i386/x86-64-clmul.s: Likewise.
* gas/i386/x86-64-inval-avx.l: Likewise.
* gas/i386/x86-64-inval-avx.s: Likewise.
* gas/i386/x86-64-sse2avx.d: Likewise.
* gas/i386/x86-64-sse2avx.s: Likewise.
* gas/i386/arch-10.s: Add tests for AVX, AES, CLMUL and FMA.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/rexw.s: Add AVX tests.
* gas/i386/x86-64-opcode-inval.s: Remove lds/les test.
* gas/cfi/cfi-i386.d: Updated.
* gas/cfi/cfi-x86_64.d: Likewise.
* gas/i386/arch-10.d: Likewise.
* gas/i386/arch-10-1.l: Likewise.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.
* gas/i386/rexw.d: Likewise.
* gas/i386/x86-64-arch-2.d: Likewise.
* gas/i386/x86-64-opcode-inval.d: Likewise.
* gas/i386/x86-64-opcode-inval-intel.d: Likewise.
include/opcode/
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* i386.h (MAX_OPERANDS): Set to 5.
(MAX_MNEM_SIZE): Changed to 20.
opcodes/
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (OP_E_register): New.
(OP_E_memory): Likewise.
(OP_VEX): Likewise.
(OP_EX_Vex): Likewise.
(OP_EX_VexW): Likewise.
(OP_XMM_Vex): Likewise.
(OP_XMM_VexW): Likewise.
(OP_REG_VexI4): Likewise.
(PCLMUL_Fixup): Likewise.
(VEXI4_Fixup): Likewise.
(VZERO_Fixup): Likewise.
(VCMP_Fixup): Likewise.
(VPERMIL2_Fixup): Likewise.
(rex_original): Likewise.
(rex_ignored): Likewise.
(Mxmm): Likewise.
(XMM): Likewise.
(EXxmm): Likewise.
(EXxmmq): Likewise.
(EXymmq): Likewise.
(Vex): Likewise.
(Vex128): Likewise.
(Vex256): Likewise.
(VexI4): Likewise.
(EXdVex): Likewise.
(EXqVex): Likewise.
(EXVexW): Likewise.
(EXdVexW): Likewise.
(EXqVexW): Likewise.
(XMVex): Likewise.
(XMVexW): Likewise.
(XMVexI4): Likewise.
(PCLMUL): Likewise.
(VZERO): Likewise.
(VCMP): Likewise.
(VPERMIL2): Likewise.
(xmm_mode): Likewise.
(xmmq_mode): Likewise.
(ymmq_mode): Likewise.
(vex_mode): Likewise.
(vex128_mode): Likewise.
(vex256_mode): Likewise.
(USE_VEX_C4_TABLE): Likewise.
(USE_VEX_C5_TABLE): Likewise.
(USE_VEX_LEN_TABLE): Likewise.
(VEX_C4_TABLE): Likewise.
(VEX_C5_TABLE): Likewise.
(VEX_LEN_TABLE): Likewise.
(REG_VEX_XX): Likewise.
(MOD_VEX_XXX): Likewise.
(PREFIX_0F38DB..PREFIX_0F38DF): Likewise.
(PREFIX_0F3A44): Likewise.
(PREFIX_0F3ADF): Likewise.
(PREFIX_VEX_XXX): Likewise.
(VEX_OF): Likewise.
(VEX_OF38): Likewise.
(VEX_OF3A): Likewise.
(VEX_LEN_XXX): Likewise.
(vex): Likewise.
(need_vex): Likewise.
(need_vex_reg): Likewise.
(vex_i4_done): Likewise.
(vex_table): Likewise.
(vex_len_table): Likewise.
(OP_REG_VexI4): Likewise.
(vex_cmp_op): Likewise.
(pclmul_op): Likewise.
(vpermil2_op): Likewise.
(m_mode): Updated.
(es_reg): Likewise.
(PREFIX_0F38F0): Likewise.
(PREFIX_0F3A60): Likewise.
(reg_table): Add REG_VEX_71...REG_VEX_73 and REG_VEX_AE.
(prefix_table): Add PREFIX_0F38DB..PREFIX_0F38DF, PREFIX_0F3ADF
and PREFIX_VEX_XXX entries.
(x86_64_table): Use VEX_C4_TABLE and VEX_C5_TABLE.
(three_byte_table): Use PREFIX_0F38DB..PREFIX_0F38DF and
PREFIX_0F3ADF.
(mod_table): Use VEX_C4_TABLE, VEX_C5_TABLE and VEX_LEN_TABLE.
Add MOD_VEX_XXX entries.
(ckprefix): Initialize rex_original and rex_ignored. Store the
REX byte in rex_original.
(get_valid_dis386): Handle the implicit prefix in VEX prefix
bytes and USE_VEX_LEN_TABLE/USE_VEX_C4_TABLE/USE_VEX_C5_TABLE.
(print_insn): Set need_vex/need_vex_reg/vex_i4_done to 0 before
calling get_valid_dis386. Use rex_original and rex_ignored when
printing out REX.
(putop): Handle "XY".
(intel_operand_size): Handle VEX, xmm_mode, xmmq_mode and
ymmq_mode.
(OP_E_extended): Updated to use OP_E_register and
OP_E_memory.
(OP_XMM): Handle VEX.
(OP_EX): Likewise.
(XMM_Fixup): Likewise.
(CMP_Fixup): Use ARRAY_SIZE.
* i386-gen.c (cpu_flag_init): Add CpuAES, CPU_CLMUL_FLAGS,
CPU_FMA_FLAGS and CPU_AVX_FLAGS.
(operand_type_init): Add OPERAND_TYPE_REGYMM and
OPERAND_TYPE_VEX_IMM4.
(cpu_flags): Add CpuAVX, CpuAES, CpuCLMUL and CpuFMA.
(opcode_modifiers): Add Implicit1stXmm0, Vex, Vex256, VexNDD,
VexNDS, VexW0, VexW1, Vex0F, Vex0F38, Vex0F3A, Vex3Sources,
VexImmExt and SSE2AVX.
(operand_types): Add RegYMM, Ymmword and Vex_Imm4.
* i386-opc.h (CpuAVX): New.
(CpuAES): Likewise.
(CpuCLMUL): Likewise.
(CpuFMA): Likewise.
(Vex): Likewise.
(Vex256): Likewise.
(VexNDS): Likewise.
(VexNDD): Likewise.
(VexW0): Likewise.
(VexW1): Likewise.
(Vex0F): Likewise.
(Vex0F38): Likewise.
(Vex0F3A): Likewise.
(Vex3Sources): Likewise.
(VexImmExt): Likewise.
(SSE2AVX): Likewise.
(RegYMM): Likewise.
(Ymmword): Likewise.
(Vex_Imm4): Likewise.
(Implicit1stXmm0): Likewise.
(CpuXsave): Updated.
(CpuLM): Likewise.
(ByteOkIntel): Likewise.
(OldGcc): Likewise.
(Control): Likewise.
(Unspecified): Likewise.
(OTMax): Likewise.
(i386_cpu_flags): Add cpuavx, cpuaes, cpuclmul and cpufma.
(i386_opcode_modifier): Add implicit1stxmm0, vex, vex256,
vexnds, vexndd, vexw0, vexw1, vex0f, vex0f38, vex0f3a,
vex3sources, veximmext and sse2avx.
(i386_operand_type): Add regymm, ymmword and vex_imm4.
* i386-opc.tbl: Add AES, CLMUL, AVX and FMA new instructions.
* i386-reg.tbl: Add AVX registers, ymm0..ymm15.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
2008-04-03 14:03:21 +00:00
|
|
|
|
* New command line option -msse2avx for x86 target to encode SSE
|
|
|
|
|
instructions with VEX prefix.
|
|
|
|
|
|
2008-04-04 16:34:23 +00:00
|
|
|
|
* Add Intel XSAVE, AES, PCLMUL, AVX/FMA support for x86 target.
|
binutils/
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* dwarf.c (dwarf_regnames_i386): Add AVX registers.
(dwarf_regnames_x86_64): Likewise.
gas/
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* NEWS: Mention AES, CLMUL, AVX/FMA and -msse2avx.
* doc/c-i386.texi: Add avx, aes, clmul and fma to -march=.
Document -msse2avx, .avx, .aes, .clmul and .fma.
* config/tc-i386.c (YMMWORD_MNEM_SUFFIX): New.
(vex_prefix): Likewise.
(sse2avx): Likewise.
(CPU_FLAGS_ARCH_MATCH): Likewise.
(CPU_FLAGS_64BIT_MATCH): Likewise.
(CPU_FLAGS_32BIT_MATCH): Likewise.
(CPU_FLAGS_PERFECT_MATCH): Likewise.
(regymm): Likewise.
(vex_imm4): Likewise.
(fits_in_imm4): Likewise.
(build_vex_prefix): Likewise.
(VEX_check_operands): Likewise.
(bad_implicit_operand): Likewise.
(OPTION_MSSE2AVX): Likewise.
(T_YMMWORD): Likewise.
(_i386_insn): Add vex.
(cpu_arch): Add .avx, .aes, .clmul and .fma.
(cpu_flags_match): Changed to take a pointer to const template.
Enable encoding SSE instructions with VEX prefix for -msse2avx.
(match_mem_size): Also check ymmword.
(operand_type_match): Clear ymmword.
(md_begin): Allow '_' in mnemonic.
(type_names): Add OPERAND_TYPE_VEX_IMM4.
(process_immext): Update assert.
(md_assemble): Don't call process_immext if sse2avx and immext
are true. Call build_vex_prefix if vex is true.
(parse_insn): Updated for cpu_flags_match.
(swap_operands): Handle 5 operands.
(match_template): Handle 5 operands. Updated for cpu_flags_match.
Check regymm. Call VEX_check_operands. Handle YMMWORD_MNEM_SUFFIX.
(process_suffix): Handle YMMWORD_MNEM_SUFFIX.
(check_byte_reg): Check regymm.
(process_operands): Duplicate the destination register for
-msse2avx if needed.
(build_modrm_byte): Updated for instructions with VEX encoding.
(output_insn): Output VEX prefix if needed.
(md_longopts): Add msse2avx.
(md_parse_option): Handle OPTION_MSSE2AVX.
(md_show_usage): Add avx, aes, clmul, fma and -msse2avx.
(intel_e09): Support YMMWORD.
(intel_e11): Likewise.
(intel_get_token): Likewise.
gas/testsuite/
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run aes, aes-intel, x86-64-aes,
x86-64-aes-intel, avx, avx-intel, inval-avx, x86-64-avx,
x86-64-avx-intel and x86-64-inval-avx.
* gas/cfi/cfi-i386.s: Add tests for AVX register maps.
* gas/cfi/cfi-x86_64.s: Likewise.
* gas/i386/aes.d: New.
* gas/i386/aes.s: Likewise.
* gas/i386/aes-intel.d: Likewise.
* gas/i386/avx.d: Likewise.
* gas/i386/avx.s: Likewise.
* gas/i386/avx-intel.d: Likewise.
* gas/i386/clmul.d: Likewise.
* gas/i386/clmul-intel.d: Likewise.
* gas/i386/clmul.s: Likewise.
* gas/i386/i386.exp: Likewise.
* gas/i386/inval-avx.l: Likewise.
* gas/i386/inval-avx.s: Likewise.
* gas/i386/sse2avx.d: Likewise.
* gas/i386/sse2avx.s: Likewise.
* gas/i386/x86-64-aes.d: Likewise.
* gas/i386/x86-64-aes.s: Likewise.
* gas/i386/x86-64-aes-intel.d: Likewise.
* gas/i386/x86-64-avx.d: Likewise.
* gas/i386/x86-64-avx.s: Likewise.
* gas/i386/x86-64-avx-intel.d: Likewise.
* gas/i386/x86-64-clmul.d: Likewise.
* gas/i386/x86-64-clmul-intel.d: Likewise.
* gas/i386/x86-64-clmul.s: Likewise.
* gas/i386/x86-64-inval-avx.l: Likewise.
* gas/i386/x86-64-inval-avx.s: Likewise.
* gas/i386/x86-64-sse2avx.d: Likewise.
* gas/i386/x86-64-sse2avx.s: Likewise.
* gas/i386/arch-10.s: Add tests for AVX, AES, CLMUL and FMA.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/rexw.s: Add AVX tests.
* gas/i386/x86-64-opcode-inval.s: Remove lds/les test.
* gas/cfi/cfi-i386.d: Updated.
* gas/cfi/cfi-x86_64.d: Likewise.
* gas/i386/arch-10.d: Likewise.
* gas/i386/arch-10-1.l: Likewise.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.
* gas/i386/rexw.d: Likewise.
* gas/i386/x86-64-arch-2.d: Likewise.
* gas/i386/x86-64-opcode-inval.d: Likewise.
* gas/i386/x86-64-opcode-inval-intel.d: Likewise.
include/opcode/
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* i386.h (MAX_OPERANDS): Set to 5.
(MAX_MNEM_SIZE): Changed to 20.
opcodes/
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (OP_E_register): New.
(OP_E_memory): Likewise.
(OP_VEX): Likewise.
(OP_EX_Vex): Likewise.
(OP_EX_VexW): Likewise.
(OP_XMM_Vex): Likewise.
(OP_XMM_VexW): Likewise.
(OP_REG_VexI4): Likewise.
(PCLMUL_Fixup): Likewise.
(VEXI4_Fixup): Likewise.
(VZERO_Fixup): Likewise.
(VCMP_Fixup): Likewise.
(VPERMIL2_Fixup): Likewise.
(rex_original): Likewise.
(rex_ignored): Likewise.
(Mxmm): Likewise.
(XMM): Likewise.
(EXxmm): Likewise.
(EXxmmq): Likewise.
(EXymmq): Likewise.
(Vex): Likewise.
(Vex128): Likewise.
(Vex256): Likewise.
(VexI4): Likewise.
(EXdVex): Likewise.
(EXqVex): Likewise.
(EXVexW): Likewise.
(EXdVexW): Likewise.
(EXqVexW): Likewise.
(XMVex): Likewise.
(XMVexW): Likewise.
(XMVexI4): Likewise.
(PCLMUL): Likewise.
(VZERO): Likewise.
(VCMP): Likewise.
(VPERMIL2): Likewise.
(xmm_mode): Likewise.
(xmmq_mode): Likewise.
(ymmq_mode): Likewise.
(vex_mode): Likewise.
(vex128_mode): Likewise.
(vex256_mode): Likewise.
(USE_VEX_C4_TABLE): Likewise.
(USE_VEX_C5_TABLE): Likewise.
(USE_VEX_LEN_TABLE): Likewise.
(VEX_C4_TABLE): Likewise.
(VEX_C5_TABLE): Likewise.
(VEX_LEN_TABLE): Likewise.
(REG_VEX_XX): Likewise.
(MOD_VEX_XXX): Likewise.
(PREFIX_0F38DB..PREFIX_0F38DF): Likewise.
(PREFIX_0F3A44): Likewise.
(PREFIX_0F3ADF): Likewise.
(PREFIX_VEX_XXX): Likewise.
(VEX_OF): Likewise.
(VEX_OF38): Likewise.
(VEX_OF3A): Likewise.
(VEX_LEN_XXX): Likewise.
(vex): Likewise.
(need_vex): Likewise.
(need_vex_reg): Likewise.
(vex_i4_done): Likewise.
(vex_table): Likewise.
(vex_len_table): Likewise.
(OP_REG_VexI4): Likewise.
(vex_cmp_op): Likewise.
(pclmul_op): Likewise.
(vpermil2_op): Likewise.
(m_mode): Updated.
(es_reg): Likewise.
(PREFIX_0F38F0): Likewise.
(PREFIX_0F3A60): Likewise.
(reg_table): Add REG_VEX_71...REG_VEX_73 and REG_VEX_AE.
(prefix_table): Add PREFIX_0F38DB..PREFIX_0F38DF, PREFIX_0F3ADF
and PREFIX_VEX_XXX entries.
(x86_64_table): Use VEX_C4_TABLE and VEX_C5_TABLE.
(three_byte_table): Use PREFIX_0F38DB..PREFIX_0F38DF and
PREFIX_0F3ADF.
(mod_table): Use VEX_C4_TABLE, VEX_C5_TABLE and VEX_LEN_TABLE.
Add MOD_VEX_XXX entries.
(ckprefix): Initialize rex_original and rex_ignored. Store the
REX byte in rex_original.
(get_valid_dis386): Handle the implicit prefix in VEX prefix
bytes and USE_VEX_LEN_TABLE/USE_VEX_C4_TABLE/USE_VEX_C5_TABLE.
(print_insn): Set need_vex/need_vex_reg/vex_i4_done to 0 before
calling get_valid_dis386. Use rex_original and rex_ignored when
printing out REX.
(putop): Handle "XY".
(intel_operand_size): Handle VEX, xmm_mode, xmmq_mode and
ymmq_mode.
(OP_E_extended): Updated to use OP_E_register and
OP_E_memory.
(OP_XMM): Handle VEX.
(OP_EX): Likewise.
(XMM_Fixup): Likewise.
(CMP_Fixup): Use ARRAY_SIZE.
* i386-gen.c (cpu_flag_init): Add CpuAES, CPU_CLMUL_FLAGS,
CPU_FMA_FLAGS and CPU_AVX_FLAGS.
(operand_type_init): Add OPERAND_TYPE_REGYMM and
OPERAND_TYPE_VEX_IMM4.
(cpu_flags): Add CpuAVX, CpuAES, CpuCLMUL and CpuFMA.
(opcode_modifiers): Add Implicit1stXmm0, Vex, Vex256, VexNDD,
VexNDS, VexW0, VexW1, Vex0F, Vex0F38, Vex0F3A, Vex3Sources,
VexImmExt and SSE2AVX.
(operand_types): Add RegYMM, Ymmword and Vex_Imm4.
* i386-opc.h (CpuAVX): New.
(CpuAES): Likewise.
(CpuCLMUL): Likewise.
(CpuFMA): Likewise.
(Vex): Likewise.
(Vex256): Likewise.
(VexNDS): Likewise.
(VexNDD): Likewise.
(VexW0): Likewise.
(VexW1): Likewise.
(Vex0F): Likewise.
(Vex0F38): Likewise.
(Vex0F3A): Likewise.
(Vex3Sources): Likewise.
(VexImmExt): Likewise.
(SSE2AVX): Likewise.
(RegYMM): Likewise.
(Ymmword): Likewise.
(Vex_Imm4): Likewise.
(Implicit1stXmm0): Likewise.
(CpuXsave): Updated.
(CpuLM): Likewise.
(ByteOkIntel): Likewise.
(OldGcc): Likewise.
(Control): Likewise.
(Unspecified): Likewise.
(OTMax): Likewise.
(i386_cpu_flags): Add cpuavx, cpuaes, cpuclmul and cpufma.
(i386_opcode_modifier): Add implicit1stxmm0, vex, vex256,
vexnds, vexndd, vexw0, vexw1, vex0f, vex0f38, vex0f3a,
vex3sources, veximmext and sse2avx.
(i386_operand_type): Add regymm, ymmword and vex_imm4.
* i386-opc.tbl: Add AES, CLMUL, AVX and FMA new instructions.
* i386-reg.tbl: Add AVX registers, ymm0..ymm15.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
2008-04-03 14:03:21 +00:00
|
|
|
|
|
2008-01-24 22:44:37 +00:00
|
|
|
|
* New command line options, -march=CPU[,+EXTENSION...], -mtune=CPU,
|
|
|
|
|
-mmnemonic=[att|intel], -msyntax=[att|intel], -mindex-reg,
|
|
|
|
|
-mnaked-reg and -mold-gcc, for x86 targets.
|
|
|
|
|
|
2007-10-04 17:05:37 +00:00
|
|
|
|
* Support for generating wide character strings has been added via the new
|
|
|
|
|
pseudo ops: .string16, .string32 and .string64.
|
|
|
|
|
|
2007-09-14 18:21:09 +00:00
|
|
|
|
* Support for SSE5 has been added to the i386 port.
|
|
|
|
|
|
2007-08-10 13:21:40 +00:00
|
|
|
|
Changes in 2.18:
|
|
|
|
|
|
2007-07-03 11:01:12 +00:00
|
|
|
|
* The GAS sources are now released under the GPLv3.
|
|
|
|
|
|
2007-06-29 14:09:34 +00:00
|
|
|
|
* Support for the National Semiconductor CR16 target has been added.
|
|
|
|
|
|
2007-03-27 08:33:47 +00:00
|
|
|
|
* Added gas .reloc pseudo. This is a low-level interface for creating
|
|
|
|
|
relocations.
|
|
|
|
|
|
2006-09-20 11:35:11 +00:00
|
|
|
|
* Add support for x86_64 PE+ target.
|
|
|
|
|
|
2006-09-16 23:51:50 +00:00
|
|
|
|
* Add support for Score target.
|
2002-06-29 04:54:59 +00:00
|
|
|
|
|
2007-07-03 11:01:12 +00:00
|
|
|
|
Changes in 2.17:
|
|
|
|
|
|
2006-02-17 14:36:28 +00:00
|
|
|
|
* Support for the Infineon XC16X has been added by KPIT Cummins Infosystems.
|
|
|
|
|
|
2005-11-08 11:17:03 +00:00
|
|
|
|
* Support for ms2 architecture has been added.
|
|
|
|
|
|
2005-10-25 17:42:02 +00:00
|
|
|
|
* Support for the Z80 processor family has been added.
|
|
|
|
|
|
2005-10-13 00:57:43 +00:00
|
|
|
|
* Add support for the "@<file>" syntax to the command line, so that extra
|
|
|
|
|
switches can be read from <file>.
|
|
|
|
|
|
2005-10-06 11:44:07 +00:00
|
|
|
|
* The SH target supports a new command line switch --enable-reg-prefix which,
|
|
|
|
|
if enabled, will allow register names to be optionally prefixed with a $
|
|
|
|
|
character. This allows register names to be distinguished from label names.
|
|
|
|
|
|
2005-05-06 06:50:31 +00:00
|
|
|
|
* Macros with a variable number of arguments are now supported. See the
|
|
|
|
|
documentation for how this works.
|
|
|
|
|
|
2005-04-12 08:42:41 +00:00
|
|
|
|
* Added --reduce-memory-overheads switch to reduce the size of the hash
|
|
|
|
|
tables used, at the expense of longer assembly times, and
|
|
|
|
|
--hash-size=<NUMBER> to set the size of the hash tables used by gas.
|
|
|
|
|
|
2005-04-11 12:46:38 +00:00
|
|
|
|
* Macro names and macro parameter names can now be any identifier that would
|
|
|
|
|
also be legal as a symbol elsewhere. For macro parameter names, this is
|
|
|
|
|
known to cause problems in certain sources when the respective target uses
|
|
|
|
|
characters inconsistently, and thus macro parameter references may no longer
|
|
|
|
|
be recognized as such (see the documentation for details).
|
2005-04-12 08:42:41 +00:00
|
|
|
|
|
2005-04-01 14:17:17 +00:00
|
|
|
|
* Support the .f_floating, .d_floating, .g_floating and .h_floating directives
|
|
|
|
|
for the VAX target in order to be more compatible with the VAX MACRO
|
|
|
|
|
assembler.
|
|
|
|
|
|
2005-03-28 22:34:20 +00:00
|
|
|
|
* New command line option -mtune=[itanium1|itanium2] for IA64 targets.
|
|
|
|
|
|
2005-03-15 17:49:15 +00:00
|
|
|
|
Changes in 2.16:
|
|
|
|
|
|
2005-03-08 13:59:23 +00:00
|
|
|
|
* Redefinition of macros now results in an error.
|
|
|
|
|
|
2005-02-17 23:22:05 +00:00
|
|
|
|
* New command line option -mhint.b=[ok|warning|error] for IA64 targets.
|
|
|
|
|
|
2005-02-11 21:01:19 +00:00
|
|
|
|
* New command line option -munwind-check=[warning|error] for IA64
|
|
|
|
|
targets.
|
|
|
|
|
|
2005-02-14 08:02:51 +00:00
|
|
|
|
* The IA64 port now uses automatic dependency violation removal as its default
|
|
|
|
|
mode.
|
|
|
|
|
|
2004-11-08 13:17:43 +00:00
|
|
|
|
* Port to MAXQ processor contributed by HCL Tech.
|
|
|
|
|
|
2004-10-05 13:51:40 +00:00
|
|
|
|
* Added support for generating unwind tables for ARM ELF targets.
|
|
|
|
|
|
2004-08-17 12:19:58 +00:00
|
|
|
|
* Add a -g command line option to generate debug information in the target's
|
|
|
|
|
preferred debug format.
|
|
|
|
|
|
2004-07-07 17:28:53 +00:00
|
|
|
|
* Support for the crx-elf target added.
|
|
|
|
|
|
2004-07-09 12:32:35 +00:00
|
|
|
|
* Support for the sh-symbianelf target added.
|
2004-07-07 17:28:53 +00:00
|
|
|
|
|
2004-05-07 14:44:56 +00:00
|
|
|
|
* Added a pseudo-op (.secrel32) to generate 32 bit section relative relocations
|
|
|
|
|
on pe[i]-i386; required for this target's DWARF 2 support.
|
|
|
|
|
|
2004-05-05 14:33:14 +00:00
|
|
|
|
* Support for Motorola MCF521x/5249/547x/548x added.
|
|
|
|
|
|
2004-04-22 10:33:16 +00:00
|
|
|
|
* Support for ColdFire EMAC instructions added and Motorola syntax for MAC/EMAC
|
|
|
|
|
instrucitons.
|
|
|
|
|
|
2004-12-10 19:48:21 +00:00
|
|
|
|
* New command line option -mno-shared for MIPS ELF targets.
|
|
|
|
|
|
2004-08-13 19:53:52 +00:00
|
|
|
|
* New command line option --alternate and pseudo-ops .altmacro and .noaltmacro
|
|
|
|
|
added to enter (and leave) alternate macro syntax mode.
|
|
|
|
|
|
2004-07-13 17:31:15 +00:00
|
|
|
|
Changes in 2.15:
|
|
|
|
|
|
2004-04-21 00:44:36 +00:00
|
|
|
|
* The MIPS -membedded-pic option (Embedded-PIC code generation) is
|
|
|
|
|
deprecated and will be removed in a future release.
|
|
|
|
|
|
2003-12-19 11:44:01 +00:00
|
|
|
|
* Added PIC m32r Linux (ELF) and support to M32R assembler.
|
|
|
|
|
|
2003-12-06 01:25:29 +00:00
|
|
|
|
* Added support for ARM V6.
|
|
|
|
|
|
2003-12-03 Alexandre Oliva <aoliva@redhat.com>
* config/tc-sh.c: Add support for sh4a and no-fpu variants,
with appropriate additions to md_show_usage.
* testsuite/gas/sh/basic.exp: Call tests for sh4a.
* testsuite/gas/sh/{err-sh4a-fp.s, err-sh4a.s,
err-sh4al-dsp.s, sh4a-dsp.d, sh4a-dsp.s, sh4a-fp.d,
sh4a-fp.s, sh4a.d, sh4a.s, sh4al-dsp.d, sh4al-dsp.s:
New files, tests for sh4a and related variants.
* doc/c-sh.texi: Document new -isa options.
* doc/c-sh64.texi: Ditto.
* NEWS: Mention new support for sh4a.
2003-12-05 01:59:55 +00:00
|
|
|
|
* Added support for sh4a and variants.
|
|
|
|
|
|
2003-12-03 17:42:12 +00:00
|
|
|
|
* Support for Renesas M32R2 added.
|
|
|
|
|
|
2003-12-03 Alexandre Oliva <aoliva@redhat.com>
* config/tc-sh.c: Add support for sh4a and no-fpu variants,
with appropriate additions to md_show_usage.
* testsuite/gas/sh/basic.exp: Call tests for sh4a.
* testsuite/gas/sh/{err-sh4a-fp.s, err-sh4a.s,
err-sh4al-dsp.s, sh4a-dsp.d, sh4a-dsp.s, sh4a-fp.d,
sh4a-fp.s, sh4a.d, sh4a.s, sh4al-dsp.d, sh4al-dsp.s:
New files, tests for sh4a and related variants.
* doc/c-sh.texi: Document new -isa options.
* doc/c-sh64.texi: Ditto.
* NEWS: Mention new support for sh4a.
2003-12-05 01:59:55 +00:00
|
|
|
|
* Limited support for Mapping Symbols as specified in the ARM ELF
|
|
|
|
|
specification has been added to the arm assembler.
|
2003-11-14 08:21:02 +00:00
|
|
|
|
|
* config/tc-arm.texi (struct reg_entry): Add new field 'builtin'.
(rn_table, iwmmxt_table, cp_table, cn_table, fn_table, sn_table,
dn_table, mav_mvf_table, mac_mvd_table, mav_mvfx_table,
mav_mvax_table, mav_dspc_table): Initialise new field.
(insert_reg_alias): Initialise new field.
(md_pseudo_table): Add "unreq" entry.
(s_unreq): New function: Undo the effects of a previous .req.
* doc/c-arm.texi: Document new pseudo op.
* NEWS: Mention new feature.
* testsuite/gas/arm/req.s: New test file. Check .req and .unreq psuedo ops.
* testsuite/gas/arm/req.l: Expected error output from req.s test.
* testsuite/gas/arm/copro.d: Set target architecture for objdump so that the
test will work on architectures which cannot encode higher arm architecture
types in their file headers.
* testsuite/gas/arm/arm.exp: Run new req.s test.
Skip thumb instruction test for PE targets which do not support
thumb relocations.
* testsuite/gas/elf/elf.exp: Skip special handling of section2 test for XScale
targets - it is no longer needed.
2003-11-06 15:30:05 +00:00
|
|
|
|
* On ARM architectures, added a new gas directive ".unreq" that undoes
|
|
|
|
|
definitions created by ".req".
|
|
|
|
|
|
2003-10-21 13:28:59 +00:00
|
|
|
|
* Support for Motorola ColdFire MCF528x added.
|
|
|
|
|
|
2003-10-08 14:37:20 +00:00
|
|
|
|
* Added --gstabs+ switch to enable the generation of STABS debug format
|
|
|
|
|
information with GNU extensions.
|
|
|
|
|
|
2003-09-30 16:47:02 +00:00
|
|
|
|
* Added support for MIPS64 Release 2.
|
|
|
|
|
|
2003-09-04 11:04:38 +00:00
|
|
|
|
* Added support for v850e1.
|
|
|
|
|
|
2003-06-10 06:46:34 +00:00
|
|
|
|
* Added -n switch for x86 assembler. By default, x86 GAS replaces
|
|
|
|
|
multiple nop instructions used for alignment within code sections
|
|
|
|
|
with multi-byte nop instructions such as leal 0(%esi,1),%esi. This
|
|
|
|
|
switch disables the optimization.
|
|
|
|
|
|
2004-01-09 02:34:04 +00:00
|
|
|
|
* Removed -n option from MIPS assembler. It was not useful, and confused the
|
|
|
|
|
existing -non_shared option.
|
|
|
|
|
|
2003-09-30 16:44:04 +00:00
|
|
|
|
Changes in 2.14:
|
|
|
|
|
|
2003-04-26 01:35:58 +00:00
|
|
|
|
* Added support for MIPS32 Release 2.
|
|
|
|
|
|
2003-04-03 07:37:41 +00:00
|
|
|
|
* Added support for Xtensa architecture.
|
|
|
|
|
|
2003-03-25 20:56:01 +00:00
|
|
|
|
* Support for Intel's iWMMXt processor (an ARM variant) added.
|
|
|
|
|
|
2003-02-21 19:05:02 +00:00
|
|
|
|
* An assembler test generator has been contributed and an example file that
|
|
|
|
|
uses it (gas/testsuite/gas/all/test-gen.c and test-exmaple.c).
|
|
|
|
|
|
2003-01-23 18:50:57 +00:00
|
|
|
|
* Support for SH2E added.
|
|
|
|
|
|
2002-12-02 15:42:15 +00:00
|
|
|
|
* GASP has now been removed.
|
|
|
|
|
|
2002-09-11 14:42:45 +00:00
|
|
|
|
* Support for Texas Instruments TMS320C4x and TMS320C3x series of
|
|
|
|
|
DSP's contributed by Michael Hayes and Svein E. Seldal.
|
2002-08-28 10:38:51 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for the Ubicom IP2xxx microcontroller added.
|
|
|
|
|
|
2002-07-16 07:58:34 +00:00
|
|
|
|
Changes in 2.13:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400
|
|
|
|
|
and FR500 included.
|
2002-06-18 21:15:21 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for DLX processor added.
|
2002-05-28 14:20:42 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* GASP has now been deprecated and will be removed in a future release. Use
|
|
|
|
|
the macro facilities in GAS instead.
|
2002-02-21 16:51:00 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* GASP now correctly parses floating point numbers. Unless the base is
|
|
|
|
|
explicitly specified, they are interpreted as decimal numbers regardless of
|
|
|
|
|
the currently specified base.
|
2002-02-13 08:59:26 +00:00
|
|
|
|
|
2002-02-20 10:46:54 +00:00
|
|
|
|
Changes in 2.12:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for Don Knuth's MMIX, by Hans-Peter Nilsson.
|
2002-02-15 04:04:03 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for the OpenRISC 32-bit embedded processor by OpenCores.
|
2002-01-31 17:33:08 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The ARM assembler now accepts -march=..., -mcpu=... and -mfpu=... for
|
|
|
|
|
specifying the target instruction set. The old method of specifying the
|
|
|
|
|
target processor has been deprecated, but is still accepted for
|
|
|
|
|
compatibility.
|
* NEWS: Mention new ARM command-line options and VFP support.
* config/tc-arm.c (ARM_CEXT_XSCALE): Replaces ARM_EXT_XSCALE. All
uses changed.
(ARM_CEXT_MAVERICK): Similarly.
(ARM_ANY): Now means any core instruction.
(CPU_DEFAULT): Default to ARM_ANY.
(uses_apcs_26, atcps, support_interwork, uses_apcs_float)
(pic_code): Declare for all object types. Make type int.
(legacy_cpu, legacy_fpu, mcpu_cpu_opt, mcpu_fpu_opt, march_cpu_opt)
(march_fpu_opt, mfpu_opt): Declare.
(md_longopts): Tidy up conditional definitions.
(arm_opts, arm_cpus, arm_archs, arm_fpus, arm_extensions)
(arm_long_opts): New tables.
(arm_parse_cpu, arm_parse_arch, arm_parse_fpu): New functions.
(arm_parse_extension): New function.
(md_parse_option): Rewrite using new table-driven system.
(md_show_usage): Use new table-driven system.
(md_begin): Calculate cpu_variant from command line option data.
* doc/as.texinfo (ARM ISA options): Docuement new ARM-specific
command-line options.
* doc/c-arm.texi: Likewise.
Testsuite:
* gas/arm/vfp1.d: Use new command-line options.
* gas/arm/vfp1xD.d: Likewise.
* gas/arm/arm.exp (vfp-bad): Likewise.
* gas/arm/maverick.d: Likewise.
2002-01-18 17:01:55 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for the VFP floating-point instruction set has been added to
|
|
|
|
|
the ARM assembler.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* New psuedo op: .incbin to include a set of binary data at a given point
|
|
|
|
|
in the assembly. Contributed by Anders Norlander.
|
2001-07-09 08:19:18 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The MIPS assembler now accepts -march/-mtune. -mcpu has been deprecated
|
|
|
|
|
but still works for compatability.
|
2001-06-29 21:27:43 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The MIPS assembler no longer issues a warning by default when it
|
|
|
|
|
generates a nop instruction from a macro. The new command line option
|
|
|
|
|
-n will turn on the warning.
|
2001-06-11 20:40:36 +00:00
|
|
|
|
|
2000-04-25 20:54:41 +00:00
|
|
|
|
Changes in 2.11:
|
|
|
|
|
|
2002-07-31 09:59:03 +00:00
|
|
|
|
* Support for PDP-11 and 2.11BSD a.out format, by Lars Brinkhoff.
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* x86 gas now supports the full Pentium4 instruction set.
|
2001-01-04 21:27:56 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for AMD x86-64 architecture, by Jan Hubicka, SuSE Labs.
|
2000-12-30 18:05:10 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for Motorola 68HC11 and 68HC12.
|
2000-08-08 21:40:33 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for Texas Instruments TMS320C54x (tic54x).
|
2000-06-20 13:52:32 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for IA-64.
|
2000-04-25 20:54:41 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for i860, by Jason Eckhardt.
|
2000-08-14 18:50:13 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for CRIS (Axis Communications ETRAX series).
|
2000-08-24 17:42:52 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* x86 gas has a new .arch pseudo op to specify the target CPU architecture.
|
2000-05-13 12:49:55 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* x86 gas -q command line option quietens warnings about register size changes
|
|
|
|
|
due to suffix, indirect jmp/call without `*', stand-alone prefixes, and
|
|
|
|
|
translating various deprecated floating point instructions.
|
2000-05-13 12:49:55 +00:00
|
|
|
|
|
1999-05-03 07:29:11 +00:00
|
|
|
|
Changes in 2.10:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for the ARM msr instruction was changed to only allow an immediate
|
|
|
|
|
operand when altering the flags field.
|
2000-09-08 21:05:06 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for ATMEL AVR.
|
2000-03-27 08:39:14 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for IBM 370 ELF. Somewhat experimental.
|
2000-02-24 01:40:42 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for numbers with suffixes.
|
2000-02-08 14:13:57 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Added support for breaking to the end of repeat loops.
|
2000-02-23 16:01:21 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Added support for parallel instruction syntax (DOUBLEBAR_PARALLEL).
|
2000-02-23 16:01:21 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* New .elseif pseudo-op added.
|
2000-02-08 14:13:57 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* New --fatal-warnings option.
|
1999-10-11 04:10:04 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* picoJava architecture support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Motorola MCore 210 processor support added.
|
1999-09-04 17:29:22 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* A new pseudo-op .intel_syntax has been implemented to allow gas to parse i386
|
|
|
|
|
assembly programs with intel syntax.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* New pseudo-ops .func,.endfunc to aid in debugging user-written assembler code.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Added -gdwarf2 option to generate DWARF 2 debugging information.
|
1999-09-04 17:29:22 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Full 16-bit mode support for i386.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Greatly improved instruction operand checking for i386. This change will
|
|
|
|
|
produce errors or warnings on incorrect assembly code that previous versions
|
|
|
|
|
of gas accepted. If you get unexpected messages from code that worked with
|
|
|
|
|
older versions of gas, please double check the code before reporting a bug.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Weak symbol support added for COFF targets.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Mitsubishi D30V support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Texas Instruments c80 (tms320c80) support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* i960 ELF support added.
|
1999-05-27 21:57:48 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* ARM ELF support added.
|
2000-05-29 18:18:42 +00:00
|
|
|
|
|
1999-05-03 07:29:11 +00:00
|
|
|
|
Changes in 2.9:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Texas Instruments c30 (tms320c30) support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The assembler now optimizes the exception frame information generated by egcs
|
|
|
|
|
and gcc 2.8. The new --traditional-format option disables this optimization.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Added --gstabs option to generate stabs debugging information.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The -a option takes a new suboption, m (e.g., -alm) to expand macros in a
|
|
|
|
|
listing.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Added -MD option to print dependencies.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
|
|
|
|
Changes in 2.8:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* BeOS support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* MIPS16 support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Motorola ColdFire 5200 support added (configure for m68k and use -m5200).
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Alpha/VMS support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* m68k options --base-size-default-16, --base-size-default-32,
|
|
|
|
|
--disp-size-default-16, and --disp-size-default-32 added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The alignment directives now take an optional third argument, which is the
|
|
|
|
|
maximum number of bytes to skip. If doing the alignment would require
|
|
|
|
|
skipping more than the given number of bytes, the alignment is not done at
|
|
|
|
|
all.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The ELF assembler has a new pseudo-op, .symver, used for symbol versioning.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The -a option takes a new suboption, c (e.g., -alc), to skip false
|
|
|
|
|
conditionals in listings.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Added new pseudo-op, .equiv; it's like .equ, except that it is an error if
|
|
|
|
|
the symbol is already defined.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
|
|
|
|
Changes in 2.7:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The PowerPC assembler now allows the use of symbolic register names (r0,
|
|
|
|
|
etc.) if -mregnames is used. Symbolic names preceded by a '%' (%r0, etc.)
|
|
|
|
|
can be used any time. PowerPC 860 move to/from SPR instructions have been
|
|
|
|
|
added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Alpha Linux (ELF) support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* PowerPC ELF support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* m68k Linux (ELF) support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* i960 Hx/Jx support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* i386/PowerPC gnu-win32 support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* SCO ELF support added. For OpenServer 5 targets (i386-unknown-sco3.2v5) the
|
|
|
|
|
default is to build COFF-only support. To get a set of tools that generate
|
|
|
|
|
ELF (they'll understand both COFF and ELF), you must configure with
|
|
|
|
|
target=i386-unknown-sco3.2v5elf.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* m88k-motorola-sysv3* support added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
|
|
|
|
Changes in 2.6:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Gas now directly supports macros, without requiring GASP.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Gas now has an MRI assembler compatibility mode. Use -M or --mri to select
|
|
|
|
|
MRI mode. The pseudo-op ``.mri 1'' will switch into the MRI mode until the
|
|
|
|
|
``.mri 0'' is seen; this can be convenient for inline assembler code.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Added --defsym SYM=VALUE option.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Added -mips4 support to MIPS assembler.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Added PIC support to Solaris and SPARC SunOS 4 assembler.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
|
|
|
|
Changes in 2.4:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Converted this directory to use an autoconf-generated configure script.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* ARM support, from Richard Earnshaw.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Updated VMS support, from Pat Rankin, including considerably improved
|
|
|
|
|
debugging support.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for the control registers in the 68060.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Handles (ignores) a new directive ".this_GCC_requires_the_GNU_assembler", to
|
|
|
|
|
provide for possible future gcc changes, for targets where gas provides some
|
|
|
|
|
features not available in the native assembler. If the native assembler is
|
|
|
|
|
used, it should become obvious pretty quickly what the problem is.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Usage message is available with "--help".
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The GNU Assembler Preprocessor (gasp) is included. (Actually, it was in 2.3
|
|
|
|
|
also, but didn't get into the NEWS file.)
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Weak symbol support for a.out.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* A bug in the listing code which could cause an infinite loop has been fixed.
|
|
|
|
|
Bugs in listings when generating a COFF object file have also been fixed.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Initial i386-svr4 PIC implementation from Eric Youngdale, based on code by
|
|
|
|
|
Paul Kranenburg.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Improved Alpha support. Immediate constants can have a much larger range
|
|
|
|
|
now. Support for the 21164 has been contributed by Digital.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Updated ns32k (pc532-mach, netbsd532) support from Ian Dall.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
|
|
|
|
Changes in 2.3:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Mach i386 support, by David Mackenzie and Ken Raeburn.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* RS/6000 and PowerPC support by Ian Taylor.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* VMS command scripts (make-gas.com, config-gas.com) have been worked on a bit,
|
|
|
|
|
based on mail received from various people. The `-h#' option should work
|
|
|
|
|
again too.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* HP-PA work, by Jeff Law. Note, for the PA, gas-2.3 has been designed to work
|
|
|
|
|
with gdb-4.12 and gcc-2.6. As gcc-2.6 has not been released yet, a special
|
|
|
|
|
version of gcc-2.5.8 has been patched to work with gas-2.3. You can retrieve
|
|
|
|
|
this special version of gcc-2.5.8 via anonymous ftp from jaguar.cs.utah.edu
|
|
|
|
|
in the "dist" directory.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Vax support in gas fixed for BSD, so it builds and seems to run a couple
|
|
|
|
|
simple tests okay. I haven't put it through extensive testing. (GNU make is
|
|
|
|
|
currently required for BSD 4.3 builds.)
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for the DEC Alpha, running OSF/1 (ECOFF format). The gas support is
|
|
|
|
|
based on code donated by CMU, which used an a.out-based format. I'm afraid
|
|
|
|
|
the alpha-a.out support is pretty badly mangled, and much of it removed;
|
|
|
|
|
making it work will require rewriting it as BFD support for the format anyways.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Irix 5 support.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The test suites have been fixed up a bit, so that they should work with a
|
|
|
|
|
couple different versions of expect and dejagnu.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Symbols' values are now handled internally as expressions, permitting more
|
|
|
|
|
flexibility in evaluating them in some cases. Some details of relocation
|
|
|
|
|
handling have also changed, and simple constant pool management has been
|
|
|
|
|
added, to make the Alpha port easier.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* New option "--statistics" for printing out program run times. This is
|
|
|
|
|
intended to be used with the gcc "-Q" option, which prints out times spent in
|
|
|
|
|
various phases of compilation. (You should be able to get all of them
|
|
|
|
|
printed out with "gcc -Q -Wa,--statistics", I think.)
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
|
|
|
|
Changes in 2.2:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* RS/6000 AIX and MIPS SGI Irix 5 support has been added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Configurations that are still in development (and therefore are convenient to
|
|
|
|
|
have listed in configure.in) still get rejected without a minor change to
|
|
|
|
|
gas/Makefile.in, so people not doing development work shouldn't get the
|
|
|
|
|
impression that support for such configurations is actually believed to be
|
|
|
|
|
reliable.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The program name (usually "as") is printed when a fatal error message is
|
|
|
|
|
displayed. This should prevent some confusion about the source of occasional
|
|
|
|
|
messages about "internal errors".
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* ELF support is falling into place. Support for the 386 should be working.
|
|
|
|
|
Support for SPARC Solaris is in. HPPA support from Utah is being integrated.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Symbol values are maintained as expressions instead of being immediately
|
|
|
|
|
boiled down to add-symbol, sub-symbol, and constant. This permits slightly
|
|
|
|
|
more complex calculations involving symbols whose values are not alreadey
|
|
|
|
|
known.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* DBX-style debugging info ("stabs") is now supported for COFF formats.
|
|
|
|
|
If any stabs directives are seen in the source, GAS will create two new
|
|
|
|
|
sections: a ".stab" and a ".stabstr" section. The format of the .stab
|
|
|
|
|
section is nearly identical to the a.out symbol format, and .stabstr is
|
|
|
|
|
its string table. For this to be useful, you must have configured GCC
|
|
|
|
|
to generate stabs (by defining DBX_DEBUGGING_INFO), and must have a GDB
|
|
|
|
|
that can use the stab sections (4.11 or later).
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* LynxOS, on i386 and m68k platforms, is now supported. SPARC LynxOS
|
|
|
|
|
support is in progress.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
|
|
|
|
Changes in 2.1:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Several small fixes for i386-aix (PS/2) support from Minh Tran-Le have been
|
|
|
|
|
incorporated, but not well tested yet.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Altered the opcode table split for m68k; it should require less VM to compile
|
|
|
|
|
with gcc now.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Some minor adjustments to add (Convergent Technologies') Miniframe support,
|
|
|
|
|
suggested by Ronald Cole.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* HPPA support (running OSF only, not HPUX) has been contributed by Utah. This
|
|
|
|
|
includes improved ELF support, which I've started adapting for SPARC Solaris
|
|
|
|
|
2.x. Integration isn't completely, so it probably won't work.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* HP9000/300 support, donated by HP, has been merged in.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Ian Taylor has finished the MIPS ECOFF (Ultrix, Irix) support.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Better error messages for unsupported configurations (e.g., hppa-hpux).
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Test suite framework is starting to become reasonable.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
|
|
|
|
Changes in 2.0:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Mostly bug fixes.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Some more merging of BFD and ELF code, but ELF still doesn't work.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
|
|
|
|
Changes in 1.94:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* BFD merge is partly done. Adventurous souls may try giving configure the
|
|
|
|
|
"--with-bfd-assembler" option. Currently, ELF format requires it, a.out
|
|
|
|
|
format accepts it; SPARC CPU accepts it. It's the default only for OS "elf"
|
|
|
|
|
or "solaris". (ELF isn't really supported yet. It needs work. I've got
|
|
|
|
|
some code from Utah for HP-PA ELF, and from DG for m88k ELF, but they're not
|
|
|
|
|
fully merged yet.)
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* The 68K opcode table has been split in half. It should now compile under gcc
|
|
|
|
|
without consuming ridiculous amounts of memory.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* A couple data structures have been reduced in size. This should result in
|
|
|
|
|
saving a little bit of space at runtime.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for MIPS, from OSF and Ralph Campbell, has been merged in. The OSF
|
|
|
|
|
code provided ROSE format support, which I haven't merged in yet. (I can
|
|
|
|
|
make it available, if anyone wants to try it out.) Ralph's code, for BSD
|
|
|
|
|
4.4, supports a.out format. We don't have ECOFF support in just yet; it's
|
|
|
|
|
coming.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Support for the Hitachi H8/500 has been added.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* VMS host and target support should be working now, thanks chiefly to Eric
|
|
|
|
|
Youngdale.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
|
|
|
|
Changes in 1.93.01:
|
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* For m68k, support for more processors has been added: 68040, CPU32, 68851.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* For i386, .align is now power-of-two; was number-of-bytes.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* For m68k, "%" is now accepted before register names. For COFF format, which
|
|
|
|
|
doesn't use underscore prefixes for C labels, it is required, so variable "a0"
|
|
|
|
|
can be distinguished from the register.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
2002-07-19 07:52:40 +00:00
|
|
|
|
* Last public release was 1.38. Lots of configuration changes since then, lots
|
|
|
|
|
of new CPUs and formats, lots of bugs fixed.
|
1999-05-03 07:29:11 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Local variables:
|
|
|
|
|
fill-column: 79
|
|
|
|
|
End:
|