diff options
author | Thiemo Seufer <ths@networkno.de> | 2005-02-18 22:12:53 +0000 |
---|---|---|
committer | Thiemo Seufer <ths@networkno.de> | 2005-02-18 22:12:53 +0000 |
commit | c59c28f87a74931b1c3d86fc1d9df83ba0cd429e (patch) | |
tree | 484cb3214f84c6d6ed47c35a1511fddc976ca30a /gas/testsuite | |
parent | cd02833c77da31d1c5710777f5b81f99e06d4027 (diff) | |
download | binutils-redhat-c59c28f87a74931b1c3d86fc1d9df83ba0cd429e.tar.gz |
/gas/ChangeLog
* config/tc-mips.c (macro_build_ldst_constoffset): Fail on $at
uses after .set noat.
(load_address): Likewise.
(macro): Likewise. Don't try to avoid $at use by sacrificing
the target register before it is stored, it won't work.
/gas/testsuite/ChangeLog
* gas/mips/noat-1.s, gas/mips/noat-1.d, gas/mips/noat-2.s,
gas/mips/noat2.l, gas/mips/noat-3.s, gas/mips/noat-3.l,
gas/mips/noat-4.s, gas/mips/noat-4.l, gas/mips/noat-5.s,
gas/mips/noat-5.l, gas/mips/noat-6.s, gas/mips/noat-6.l,
gas/mips/noat-7.s, gas/mips/noat-7.l: New files, testcases for
.set noat in macro expansions.
* gas/mips/mips.exp: Run new testcases.
* gas/mips/rol-hw.d, gas/mips/rol-hw.l, gas/mips/rol.d,
gas/mips/rol.l, gas/mips/rol.s, gas/mips/rol64-hw.d,
gas/mips/rol64-hw.l, gas/mips/rol64.d, gas/mips/rol64.l,
gas/mips/rol64.s, gas/mips/uld2-eb.d, gas/mips/uld2-el.d,
gas/mips/uld2.l, gas/mips/uld2.s, gas/mips/ulh2-eb.d,
gas/mips/ulh2-el.d, gas/mips/ulh2.l, gas/mips/ulh2.s,
gas/mips/ulw2-eb-ilocks.d, gas/mips/ulw2-eb.d,
gas/mips/ulw2-el-ilocks.d, gas/mips/ulw2-el.d, gas/mips/ulw2.l,
gas/mips/ulw2.s: Don't try to test .set noat.
Diffstat (limited to 'gas/testsuite')
40 files changed, 85 insertions, 83 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 8ae4093612..8e1b1b702c 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,22 @@ +2005-02-18 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * gas/mips/noat-1.s, gas/mips/noat-1.d, gas/mips/noat-2.s, + gas/mips/noat2.l, gas/mips/noat-3.s, gas/mips/noat-3.l, + gas/mips/noat-4.s, gas/mips/noat-4.l, gas/mips/noat-5.s, + gas/mips/noat-5.l, gas/mips/noat-6.s, gas/mips/noat-6.l, + gas/mips/noat-7.s, gas/mips/noat-7.l: New files, testcases for + .set noat in macro expansions. + * gas/mips/mips.exp: Run new testcases. + * gas/mips/rol-hw.d, gas/mips/rol-hw.l, gas/mips/rol.d, + gas/mips/rol.l, gas/mips/rol.s, gas/mips/rol64-hw.d, + gas/mips/rol64-hw.l, gas/mips/rol64.d, gas/mips/rol64.l, + gas/mips/rol64.s, gas/mips/uld2-eb.d, gas/mips/uld2-el.d, + gas/mips/uld2.l, gas/mips/uld2.s, gas/mips/ulh2-eb.d, + gas/mips/ulh2-el.d, gas/mips/ulh2.l, gas/mips/ulh2.s, + gas/mips/ulw2-eb-ilocks.d, gas/mips/ulw2-eb.d, + gas/mips/ulw2-el-ilocks.d, gas/mips/ulw2-el.d, gas/mips/ulw2.l, + gas/mips/ulw2.s: Don't try to test .set noat. + 2005-02-17 H.J. Lu <hongjiu.lu@intel.com> * gas/ia64/hint.b-err.l: New file. diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 42e0c4b000..2a318f6ea5 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -738,4 +738,12 @@ if { [istarget mips*-*-*] } then { run_dump_test "macro-warn-1-n32" run_dump_test "macro-warn-2-n32" } + + run_dump_test "noat-1" + run_list_test "noat-2" "" + run_list_test "noat-3" "" + run_list_test "noat-4" "" + run_list_test "noat-5" "" + run_list_test "noat-6" "" + run_list_test "noat-7" "" } diff --git a/gas/testsuite/gas/mips/noat-1.d b/gas/testsuite/gas/mips/noat-1.d new file mode 100644 index 0000000000..d3b74af536 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-1.d @@ -0,0 +1,15 @@ +#as: -32 +#objdump: -dr + +.*: +file format .*mips + +Disassembly of section \.text: + +00000000 <\.text>: + 0: 8f7b7fff lw k1,32767\(k1\) + 4: 00000000 nop + 8: 8f7b8000 lw k1,-32768\(k1\) + c: 00000000 nop + 10: af7b7fff sw k1,32767\(k1\) + 14: af7b8000 sw k1,-32768\(k1\) + \.\.\. diff --git a/gas/testsuite/gas/mips/noat-1.s b/gas/testsuite/gas/mips/noat-1.s new file mode 100644 index 0000000000..d58ac3e65d --- /dev/null +++ b/gas/testsuite/gas/mips/noat-1.s @@ -0,0 +1,7 @@ + .set noat + lw $27, 0x7fff($27) + lw $27, -0x8000($27) + sw $27, 0x7fff($27) + sw $27, -0x8000($27) + + .space 8 diff --git a/gas/testsuite/gas/mips/noat-2.l b/gas/testsuite/gas/mips/noat-2.l new file mode 100644 index 0000000000..33402370e4 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-2.l @@ -0,0 +1,2 @@ +.*\.s: Assembler messages: +.*\.s:2: Error: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/noat-2.s b/gas/testsuite/gas/mips/noat-2.s new file mode 100644 index 0000000000..8e1a449d12 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-2.s @@ -0,0 +1,4 @@ + .set noat + lw $27, 0x8000($27) + + .space 8 diff --git a/gas/testsuite/gas/mips/noat-3.l b/gas/testsuite/gas/mips/noat-3.l new file mode 100644 index 0000000000..33402370e4 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-3.l @@ -0,0 +1,2 @@ +.*\.s: Assembler messages: +.*\.s:2: Error: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/noat-3.s b/gas/testsuite/gas/mips/noat-3.s new file mode 100644 index 0000000000..dcf1dc0d68 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-3.s @@ -0,0 +1,4 @@ + .set noat + lw $27, -0x8001($27) + + .space 8 diff --git a/gas/testsuite/gas/mips/noat-4.l b/gas/testsuite/gas/mips/noat-4.l new file mode 100644 index 0000000000..33402370e4 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-4.l @@ -0,0 +1,2 @@ +.*\.s: Assembler messages: +.*\.s:2: Error: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/noat-4.s b/gas/testsuite/gas/mips/noat-4.s new file mode 100644 index 0000000000..0bb772e411 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-4.s @@ -0,0 +1,4 @@ + .set noat + lw $27, symbol($27) + + .space 8 diff --git a/gas/testsuite/gas/mips/noat-5.l b/gas/testsuite/gas/mips/noat-5.l new file mode 100644 index 0000000000..33402370e4 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-5.l @@ -0,0 +1,2 @@ +.*\.s: Assembler messages: +.*\.s:2: Error: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/noat-5.s b/gas/testsuite/gas/mips/noat-5.s new file mode 100644 index 0000000000..9d84045028 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-5.s @@ -0,0 +1,4 @@ + .set noat + sw $27, 0x8000($27) + + .space 8 diff --git a/gas/testsuite/gas/mips/noat-6.l b/gas/testsuite/gas/mips/noat-6.l new file mode 100644 index 0000000000..33402370e4 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-6.l @@ -0,0 +1,2 @@ +.*\.s: Assembler messages: +.*\.s:2: Error: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/noat-6.s b/gas/testsuite/gas/mips/noat-6.s new file mode 100644 index 0000000000..5e2c033732 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-6.s @@ -0,0 +1,4 @@ + .set noat + sw $27, -0x8001($27) + + .space 8 diff --git a/gas/testsuite/gas/mips/noat-7.l b/gas/testsuite/gas/mips/noat-7.l new file mode 100644 index 0000000000..33402370e4 --- /dev/null +++ b/gas/testsuite/gas/mips/noat-7.l @@ -0,0 +1,2 @@ +.*\.s: Assembler messages: +.*\.s:2: Error: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/noat-7.s b/gas/testsuite/gas/mips/noat-7.s new file mode 100644 index 0000000000..3dc23505fd --- /dev/null +++ b/gas/testsuite/gas/mips/noat-7.s @@ -0,0 +1,4 @@ + .set noat + sw $27, symbol($27) + + .space 8 diff --git a/gas/testsuite/gas/mips/rol-hw.d b/gas/testsuite/gas/mips/rol-hw.d index 347c7fb332..6a9b308a0d 100644 --- a/gas/testsuite/gas/mips/rol-hw.d +++ b/gas/testsuite/gas/mips/rol-hw.d @@ -1,7 +1,6 @@ #objdump: -dr --prefix-addresses #name: MIPS hardware rol/ror #source: rol.s -#stderr: rol-hw.l #as: -32 # Test the rol and ror macros. diff --git a/gas/testsuite/gas/mips/rol-hw.l b/gas/testsuite/gas/mips/rol-hw.l deleted file mode 100644 index 19a5dc4ccd..0000000000 --- a/gas/testsuite/gas/mips/rol-hw.l +++ /dev/null @@ -1,2 +0,0 @@ -.*: Assembler messages: -.*:7: Warning: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/rol.d b/gas/testsuite/gas/mips/rol.d index c226777c3b..e331b2c506 100644 --- a/gas/testsuite/gas/mips/rol.d +++ b/gas/testsuite/gas/mips/rol.d @@ -1,6 +1,5 @@ #objdump: -dr --prefix-addresses #name: MIPS macro rol/ror -#stderr: rol.l #as: -32 # Test the rol and ror macros. diff --git a/gas/testsuite/gas/mips/rol.l b/gas/testsuite/gas/mips/rol.l deleted file mode 100644 index 441597e70b..0000000000 --- a/gas/testsuite/gas/mips/rol.l +++ /dev/null @@ -1,13 +0,0 @@ -.*: Assembler messages: -.*:7: Warning: Macro used \$at after "\.set noat" -.*:8: Warning: Macro used \$at after "\.set noat" -.*:9: Warning: Macro used \$at after "\.set noat" -.*:10: Warning: Macro used \$at after "\.set noat" -.*:13: Warning: Macro used \$at after "\.set noat" -.*:14: Warning: Macro used \$at after "\.set noat" -.*:15: Warning: Macro used \$at after "\.set noat" -.*:16: Warning: Macro used \$at after "\.set noat" -.*:20: Warning: Macro used \$at after "\.set noat" -.*:21: Warning: Macro used \$at after "\.set noat" -.*:24: Warning: Macro used \$at after "\.set noat" -.*:25: Warning: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/rol.s b/gas/testsuite/gas/mips/rol.s index 017c002af7..97e2b01927 100644 --- a/gas/testsuite/gas/mips/rol.s +++ b/gas/testsuite/gas/mips/rol.s @@ -1,8 +1,5 @@ # Source file used to test the rol and ror macros. - # generate warnings for all uses of AT. - .set noat - foo: rol $4,$5 rol $4,$5,$6 diff --git a/gas/testsuite/gas/mips/rol64-hw.d b/gas/testsuite/gas/mips/rol64-hw.d index a667f5a486..3b34cec665 100644 --- a/gas/testsuite/gas/mips/rol64-hw.d +++ b/gas/testsuite/gas/mips/rol64-hw.d @@ -1,7 +1,6 @@ #objdump: -dr --prefix-addresses #name: MIPS hardware drol/dror #source: rol64.s -#stderr: rol64-hw.l # Test the drol and dror macros. diff --git a/gas/testsuite/gas/mips/rol64-hw.l b/gas/testsuite/gas/mips/rol64-hw.l deleted file mode 100644 index 19a5dc4ccd..0000000000 --- a/gas/testsuite/gas/mips/rol64-hw.l +++ /dev/null @@ -1,2 +0,0 @@ -.*: Assembler messages: -.*:7: Warning: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/rol64.d b/gas/testsuite/gas/mips/rol64.d index dc2a0b7c0b..081a3d8e7f 100644 --- a/gas/testsuite/gas/mips/rol64.d +++ b/gas/testsuite/gas/mips/rol64.d @@ -1,6 +1,5 @@ #objdump: -dr --prefix-addresses #name: MIPS macro drol/dror -#stderr: rol64.l # Test the drol and dror macros. diff --git a/gas/testsuite/gas/mips/rol64.l b/gas/testsuite/gas/mips/rol64.l deleted file mode 100644 index 4a4e74c40b..0000000000 --- a/gas/testsuite/gas/mips/rol64.l +++ /dev/null @@ -1,27 +0,0 @@ -.*: Assembler messages: -.*:7: Warning: Macro used \$at after "\.set noat" -.*:8: Warning: Macro used \$at after "\.set noat" -.*:9: Warning: Macro used \$at after "\.set noat" -.*:11: Warning: Macro used \$at after "\.set noat" -.*:12: Warning: Macro used \$at after "\.set noat" -.*:13: Warning: Macro used \$at after "\.set noat" -.*:14: Warning: Macro used \$at after "\.set noat" -.*:15: Warning: Macro used \$at after "\.set noat" -.*:18: Warning: Macro used \$at after "\.set noat" -.*:19: Warning: Macro used \$at after "\.set noat" -.*:20: Warning: Macro used \$at after "\.set noat" -.*:22: Warning: Macro used \$at after "\.set noat" -.*:23: Warning: Macro used \$at after "\.set noat" -.*:24: Warning: Macro used \$at after "\.set noat" -.*:25: Warning: Macro used \$at after "\.set noat" -.*:26: Warning: Macro used \$at after "\.set noat" -.*:29: Warning: Macro used \$at after "\.set noat" -.*:30: Warning: Macro used \$at after "\.set noat" -.*:31: Warning: Macro used \$at after "\.set noat" -.*:32: Warning: Macro used \$at after "\.set noat" -.*:33: Warning: Macro used \$at after "\.set noat" -.*:35: Warning: Macro used \$at after "\.set noat" -.*:36: Warning: Macro used \$at after "\.set noat" -.*:37: Warning: Macro used \$at after "\.set noat" -.*:38: Warning: Macro used \$at after "\.set noat" -.*:39: Warning: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/rol64.s b/gas/testsuite/gas/mips/rol64.s index 49a5717365..3f11363534 100644 --- a/gas/testsuite/gas/mips/rol64.s +++ b/gas/testsuite/gas/mips/rol64.s @@ -1,8 +1,5 @@ # Source file used to test the drol and dror macros. - # generate warnings for all uses of AT. - .set noat - foo: drol $4,$5 drol $4,$5,$6 diff --git a/gas/testsuite/gas/mips/uld2-eb.d b/gas/testsuite/gas/mips/uld2-eb.d index 815da74b47..8a4d37c5df 100644 --- a/gas/testsuite/gas/mips/uld2-eb.d +++ b/gas/testsuite/gas/mips/uld2-eb.d @@ -2,7 +2,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -M reg-names=numeric #name: uld2 -EB #source: uld2.s -#stderr: uld2.l # Further checks of uld macro. # XXX: note: when 'move' is changed to use 'or' rather than daddu, the diff --git a/gas/testsuite/gas/mips/uld2-el.d b/gas/testsuite/gas/mips/uld2-el.d index 7b0032e0fa..e932f353c9 100644 --- a/gas/testsuite/gas/mips/uld2-el.d +++ b/gas/testsuite/gas/mips/uld2-el.d @@ -2,7 +2,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -M reg-names=numeric #name: uld2 -EL #source: uld2.s -#stderr: uld2.l # Further checks of uld macro. # XXX: note: when 'move' is changed to use 'or' rather than daddu, the diff --git a/gas/testsuite/gas/mips/uld2.l b/gas/testsuite/gas/mips/uld2.l deleted file mode 100644 index 1ab29b544b..0000000000 --- a/gas/testsuite/gas/mips/uld2.l +++ /dev/null @@ -1,3 +0,0 @@ -.*: Assembler messages: -.*:11: Warning: Macro used \$at after "\.set noat" -.*:12: Warning: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/uld2.s b/gas/testsuite/gas/mips/uld2.s index 5b0d99bf60..2156136a23 100644 --- a/gas/testsuite/gas/mips/uld2.s +++ b/gas/testsuite/gas/mips/uld2.s @@ -1,7 +1,5 @@ # Source file used to test the uld macro (harder). - .set noat - .text text_label: diff --git a/gas/testsuite/gas/mips/ulh2-eb.d b/gas/testsuite/gas/mips/ulh2-eb.d index 9c8e84c699..ee73ba8ca8 100644 --- a/gas/testsuite/gas/mips/ulh2-eb.d +++ b/gas/testsuite/gas/mips/ulh2-eb.d @@ -2,7 +2,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -M reg-names=numeric #name: ulh2 -EB #source: ulh2.s -#stderr: ulh2.l # Further checks of ulh/ulhu macros. diff --git a/gas/testsuite/gas/mips/ulh2-el.d b/gas/testsuite/gas/mips/ulh2-el.d index e8e47e8b41..bc61b5d2f2 100644 --- a/gas/testsuite/gas/mips/ulh2-el.d +++ b/gas/testsuite/gas/mips/ulh2-el.d @@ -2,7 +2,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -M reg-names=numeric #name: ulh2 -EL #source: ulh2.s -#stderr: ulh2.l # Further checks of ulh/ulhu macros. diff --git a/gas/testsuite/gas/mips/ulh2.l b/gas/testsuite/gas/mips/ulh2.l deleted file mode 100644 index 4bab367829..0000000000 --- a/gas/testsuite/gas/mips/ulh2.l +++ /dev/null @@ -1,9 +0,0 @@ -.*: Assembler messages: -.*:8: Warning: Macro used \$at after "\.set noat" -.*:9: Warning: Macro used \$at after "\.set noat" -.*:11: Warning: Macro used \$at after "\.set noat" -.*:12: Warning: Macro used \$at after "\.set noat" -.*:14: Warning: Macro used \$at after "\.set noat" -.*:15: Warning: Macro used \$at after "\.set noat" -.*:17: Warning: Macro used \$at after "\.set noat" -.*:18: Warning: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/ulh2.s b/gas/testsuite/gas/mips/ulh2.s index 3aa1cff722..0c200904ed 100644 --- a/gas/testsuite/gas/mips/ulh2.s +++ b/gas/testsuite/gas/mips/ulh2.s @@ -1,7 +1,5 @@ # Source file used to test the ulh and ulhu macros (harder). - .set noat - .text text_label: diff --git a/gas/testsuite/gas/mips/ulw2-eb-ilocks.d b/gas/testsuite/gas/mips/ulw2-eb-ilocks.d index 83796ef621..f967aa203f 100644 --- a/gas/testsuite/gas/mips/ulw2-eb-ilocks.d +++ b/gas/testsuite/gas/mips/ulw2-eb-ilocks.d @@ -2,7 +2,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -M reg-names=numeric #name: ulw2 -EB interlocked #source: ulw2.s -#stderr: ulw2.l # Further checks of ulw macro. # XXX: note: when 'move' is changed to use 'or' rather than addu/daddu, the diff --git a/gas/testsuite/gas/mips/ulw2-eb.d b/gas/testsuite/gas/mips/ulw2-eb.d index 88839bd48c..9341369101 100644 --- a/gas/testsuite/gas/mips/ulw2-eb.d +++ b/gas/testsuite/gas/mips/ulw2-eb.d @@ -2,7 +2,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -M reg-names=numeric #name: ulw2 -EB non-interlocked #source: ulw2.s -#stderr: ulw2.l # Further checks of ulw macro. # XXX: note: when 'move' is changed to use 'or' rather than addu/daddu, the diff --git a/gas/testsuite/gas/mips/ulw2-el-ilocks.d b/gas/testsuite/gas/mips/ulw2-el-ilocks.d index cc96c62016..5e08cef861 100644 --- a/gas/testsuite/gas/mips/ulw2-el-ilocks.d +++ b/gas/testsuite/gas/mips/ulw2-el-ilocks.d @@ -2,7 +2,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -M reg-names=numeric #name: ulw2 -EL interlocked #source: ulw2.s -#stderr: ulw2.l # Further checks of ulw macro. # XXX: note: when 'move' is changed to use 'or' rather than addu/daddu, the diff --git a/gas/testsuite/gas/mips/ulw2-el.d b/gas/testsuite/gas/mips/ulw2-el.d index 6abd4d0424..75bf40803e 100644 --- a/gas/testsuite/gas/mips/ulw2-el.d +++ b/gas/testsuite/gas/mips/ulw2-el.d @@ -2,7 +2,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -M reg-names=numeric #name: ulw2 -EL non-interlocked #source: ulw2.s -#stderr: ulw2.l # Further checks of ulw macro. # XXX: note: when 'move' is changed to use 'or' rather than addu/daddu, the diff --git a/gas/testsuite/gas/mips/ulw2.l b/gas/testsuite/gas/mips/ulw2.l deleted file mode 100644 index 1ab29b544b..0000000000 --- a/gas/testsuite/gas/mips/ulw2.l +++ /dev/null @@ -1,3 +0,0 @@ -.*: Assembler messages: -.*:11: Warning: Macro used \$at after "\.set noat" -.*:12: Warning: Macro used \$at after "\.set noat" diff --git a/gas/testsuite/gas/mips/ulw2.s b/gas/testsuite/gas/mips/ulw2.s index f4373dc330..3e90a6b3c3 100644 --- a/gas/testsuite/gas/mips/ulw2.s +++ b/gas/testsuite/gas/mips/ulw2.s @@ -1,7 +1,5 @@ # Source file used to test the ulw macro (harder). - .set noat - .text text_label: |