From 19376553a1ebba97269b8462eb28fb0892446bfa Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Sat, 12 Oct 2002 05:26:56 +0000 Subject: [PATCH] * gas/mips/mips.exp: Don't xfail relax. * gas/mips/relax.s: Increase coverage. * gas/mips/relax.d: Add expected output. Use relax.l for as stderr. * gas/mips/relax.l: New file. --- gas/testsuite/ChangeLog | 7 + gas/testsuite/gas/mips/mips.exp | 2 - gas/testsuite/gas/mips/relax.d | 389 +++++++++++++++++++++++++++++++++++++++- gas/testsuite/gas/mips/relax.l | 45 +++++ gas/testsuite/gas/mips/relax.s | 54 +++++- 5 files changed, 492 insertions(+), 5 deletions(-) create mode 100644 gas/testsuite/gas/mips/relax.l diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 4064a8d102..17aa39b214 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2002-10-12 Alexandre Oliva + + * gas/mips/mips.exp: Don't xfail relax. + * gas/mips/relax.s: Increase coverage. + * gas/mips/relax.d: Add expected output. Use relax.l for as stderr. + * gas/mips/relax.l: New file. + 2002-10-11 Kaz Kojima * gas/sh/tlsd.s, gas/sh/tlsd.d: New. diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index c5bd38b9af..eac3c31d8b 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -168,8 +168,6 @@ if { [istarget mips*-*-*] } then { run_dump_test "sb1-ext-mdmx" run_dump_test "sb1-ext-ps" - # It will always fail until someone fixes it. - setup_xfail "mips*-*-*" run_dump_test "relax" run_list_test "illegal" "" diff --git a/gas/testsuite/gas/mips/relax.d b/gas/testsuite/gas/mips/relax.d index f733700dc4..c8d404e8e2 100644 --- a/gas/testsuite/gas/mips/relax.d +++ b/gas/testsuite/gas/mips/relax.d @@ -1,8 +1,395 @@ +#as: -KPIC -mips3 -32 -relax-branch #objdump: -dr --prefix-addresses -mmips:4000 #name: MIPS relax +#stderr: relax.l # Test relaxation. .*: +file format .*mips.* -Disassembly of section .text: +Disassembly of section \.text: +00000000 lw at,2\(gp\) + 0: R_MIPS_GOT16 \.text +00000004 addiu at,at,592 + 4: R_MIPS_LO16 \.text +00000008 jr at +0000000c nop +00000010 lw at,2\(gp\) + 10: R_MIPS_GOT16 \.text +00000014 addiu at,at,592 + 14: R_MIPS_LO16 \.text +00000018 jalr at +0000001c nop +00000020 bne v0,v1,00000034 +00000024 nop +00000028 lw at,2\(gp\) + 28: R_MIPS_GOT16 \.text +0000002c addiu at,at,592 + 2c: R_MIPS_LO16 \.text +00000030 jr at +00000034 nop +00000038 beq a0,a1,0000004c +0000003c nop +00000040 lw at,2\(gp\) + 40: R_MIPS_GOT16 \.text +00000044 addiu at,at,592 + 44: R_MIPS_LO16 \.text +00000048 jr at +0000004c nop +00000050 bgtz v0,00000064 +00000054 nop +00000058 lw at,2\(gp\) + 58: R_MIPS_GOT16 \.text +0000005c addiu at,at,592 + 5c: R_MIPS_LO16 \.text +00000060 jr at +00000064 nop +00000068 blez v1,0000007c +0000006c nop +00000070 lw at,2\(gp\) + 70: R_MIPS_GOT16 \.text +00000074 addiu at,at,592 + 74: R_MIPS_LO16 \.text +00000078 jr at +0000007c nop +00000080 bgez a0,00000094 +00000084 nop +00000088 lw at,2\(gp\) + 88: R_MIPS_GOT16 \.text +0000008c addiu at,at,592 + 8c: R_MIPS_LO16 \.text +00000090 jr at +00000094 nop +00000098 bltz a1,000000ac +0000009c nop +000000a0 lw at,2\(gp\) + a0: R_MIPS_GOT16 \.text +000000a4 addiu at,at,592 + a4: R_MIPS_LO16 \.text +000000a8 jr at +000000ac nop +000000b0 bc1t 000000c4 +000000b4 nop +000000b8 lw at,2\(gp\) + b8: R_MIPS_GOT16 \.text +000000bc addiu at,at,592 + bc: R_MIPS_LO16 \.text +000000c0 jr at +000000c4 nop +000000c8 bc1f 000000dc +000000cc nop +000000d0 lw at,2\(gp\) + d0: R_MIPS_GOT16 \.text +000000d4 addiu at,at,592 + d4: R_MIPS_LO16 \.text +000000d8 jr at +000000dc nop +000000e0 bgez v0,000000f4 +000000e4 nop +000000e8 lw at,2\(gp\) + e8: R_MIPS_GOT16 \.text +000000ec addiu at,at,592 + ec: R_MIPS_LO16 \.text +000000f0 jalr at +000000f4 nop +000000f8 bltz v1,0000010c +000000fc nop +00000100 lw at,2\(gp\) + 100: R_MIPS_GOT16 \.text +00000104 addiu at,at,592 + 104: R_MIPS_LO16 \.text +00000108 jalr at +0000010c nop +00000110 beql v0,v1,00000120 +00000114 nop +00000118 beqzl zero,00000130 +0000011c nop +00000120 lw at,2\(gp\) + 120: R_MIPS_GOT16 \.text +00000124 addiu at,at,592 + 124: R_MIPS_LO16 \.text +00000128 jr at +0000012c nop +00000130 bnel a0,a1,00000140 +00000134 nop +00000138 beqzl zero,00000150 +0000013c nop +00000140 lw at,2\(gp\) + 140: R_MIPS_GOT16 \.text +00000144 addiu at,at,592 + 144: R_MIPS_LO16 \.text +00000148 jr at +0000014c nop +00000150 blezl v0,00000160 +00000154 nop +00000158 beqzl zero,00000170 +0000015c nop +00000160 lw at,2\(gp\) + 160: R_MIPS_GOT16 \.text +00000164 addiu at,at,592 + 164: R_MIPS_LO16 \.text +00000168 jr at +0000016c nop +00000170 bgtzl v1,00000180 +00000174 nop +00000178 beqzl zero,00000190 +0000017c nop +00000180 lw at,2\(gp\) + 180: R_MIPS_GOT16 \.text +00000184 addiu at,at,592 + 184: R_MIPS_LO16 \.text +00000188 jr at +0000018c nop +00000190 bltzl a0,000001a0 +00000194 nop +00000198 beqzl zero,000001b0 +0000019c nop +000001a0 lw at,2\(gp\) + 1a0: R_MIPS_GOT16 \.text +000001a4 addiu at,at,592 + 1a4: R_MIPS_LO16 \.text +000001a8 jr at +000001ac nop +000001b0 bgezl a1,000001c0 +000001b4 nop +000001b8 beqzl zero,000001d0 +000001bc nop +000001c0 lw at,2\(gp\) + 1c0: R_MIPS_GOT16 \.text +000001c4 addiu at,at,592 + 1c4: R_MIPS_LO16 \.text +000001c8 jr at +000001cc nop +000001d0 bc1fl 000001e0 +000001d4 nop +000001d8 beqzl zero,000001f0 +000001dc nop +000001e0 lw at,2\(gp\) + 1e0: R_MIPS_GOT16 \.text +000001e4 addiu at,at,592 + 1e4: R_MIPS_LO16 \.text +000001e8 jr at +000001ec nop +000001f0 bc1tl 00000200 +000001f4 nop +000001f8 beqzl zero,00000210 +000001fc nop +00000200 lw at,2\(gp\) + 200: R_MIPS_GOT16 \.text +00000204 addiu at,at,592 + 204: R_MIPS_LO16 \.text +00000208 jr at +0000020c nop +00000210 bltzl v0,00000220 +00000214 nop +00000218 beqzl zero,00000230 +0000021c nop +00000220 lw at,2\(gp\) + 220: R_MIPS_GOT16 \.text +00000224 addiu at,at,592 + 224: R_MIPS_LO16 \.text +00000228 jalr at +0000022c nop +00000230 bgezl v1,00000240 +00000234 nop +00000238 beqzl zero,00000250 +0000023c nop +00000240 lw at,2\(gp\) + 240: R_MIPS_GOT16 \.text +00000244 addiu at,at,592 + 244: R_MIPS_LO16 \.text +00000248 jalr at +0000024c nop + \.\.\. +00020250 lw at,0\(gp\) + 20250: R_MIPS_GOT16 \.text +00020254 addiu at,at,0 + 20254: R_MIPS_LO16 \.text +00020258 jr at +0002025c nop +00020260 lw at,0\(gp\) + 20260: R_MIPS_GOT16 \.text +00020264 addiu at,at,0 + 20264: R_MIPS_LO16 \.text +00020268 jalr at +0002026c nop +00020270 bne v0,v1,00020284 +00020274 nop +00020278 lw at,0\(gp\) + 20278: R_MIPS_GOT16 \.text +0002027c addiu at,at,0 + 2027c: R_MIPS_LO16 \.text +00020280 jr at +00020284 nop +00020288 beq a0,a1,0002029c +0002028c nop +00020290 lw at,0\(gp\) + 20290: R_MIPS_GOT16 \.text +00020294 addiu at,at,0 + 20294: R_MIPS_LO16 \.text +00020298 jr at +0002029c nop +000202a0 bgtz v0,000202b4 +000202a4 nop +000202a8 lw at,0\(gp\) + 202a8: R_MIPS_GOT16 \.text +000202ac addiu at,at,0 + 202ac: R_MIPS_LO16 \.text +000202b0 jr at +000202b4 nop +000202b8 blez v1,000202cc +000202bc nop +000202c0 lw at,0\(gp\) + 202c0: R_MIPS_GOT16 \.text +000202c4 addiu at,at,0 + 202c4: R_MIPS_LO16 \.text +000202c8 jr at +000202cc nop +000202d0 bgez a0,000202e4 +000202d4 nop +000202d8 lw at,0\(gp\) + 202d8: R_MIPS_GOT16 \.text +000202dc addiu at,at,0 + 202dc: R_MIPS_LO16 \.text +000202e0 jr at +000202e4 nop +000202e8 bltz a1,000202fc +000202ec nop +000202f0 lw at,0\(gp\) + 202f0: R_MIPS_GOT16 \.text +000202f4 addiu at,at,0 + 202f4: R_MIPS_LO16 \.text +000202f8 jr at +000202fc nop +00020300 bc1t 00020314 +00020304 nop +00020308 lw at,0\(gp\) + 20308: R_MIPS_GOT16 \.text +0002030c addiu at,at,0 + 2030c: R_MIPS_LO16 \.text +00020310 jr at +00020314 nop +00020318 bc1f 0002032c +0002031c nop +00020320 lw at,0\(gp\) + 20320: R_MIPS_GOT16 \.text +00020324 addiu at,at,0 + 20324: R_MIPS_LO16 \.text +00020328 jr at +0002032c nop +00020330 bgez v0,00020344 +00020334 nop +00020338 lw at,0\(gp\) + 20338: R_MIPS_GOT16 \.text +0002033c addiu at,at,0 + 2033c: R_MIPS_LO16 \.text +00020340 jalr at +00020344 nop +00020348 bltz v1,0002035c +0002034c nop +00020350 lw at,0\(gp\) + 20350: R_MIPS_GOT16 \.text +00020354 addiu at,at,0 + 20354: R_MIPS_LO16 \.text +00020358 jalr at +0002035c nop +00020360 beql v0,v1,00020370 +00020364 nop +00020368 beqzl zero,00020380 +0002036c nop +00020370 lw at,0\(gp\) + 20370: R_MIPS_GOT16 \.text +00020374 addiu at,at,0 + 20374: R_MIPS_LO16 \.text +00020378 jr at +0002037c nop +00020380 bnel a0,a1,00020390 +00020384 nop +00020388 beqzl zero,000203a0 +0002038c nop +00020390 lw at,0\(gp\) + 20390: R_MIPS_GOT16 \.text +00020394 addiu at,at,0 + 20394: R_MIPS_LO16 \.text +00020398 jr at +0002039c nop +000203a0 blezl v0,000203b0 +000203a4 nop +000203a8 beqzl zero,000203c0 +000203ac nop +000203b0 lw at,0\(gp\) + 203b0: R_MIPS_GOT16 \.text +000203b4 addiu at,at,0 + 203b4: R_MIPS_LO16 \.text +000203b8 jr at +000203bc nop +000203c0 bgtzl v1,000203d0 +000203c4 nop +000203c8 beqzl zero,000203e0 +000203cc nop +000203d0 lw at,0\(gp\) + 203d0: R_MIPS_GOT16 \.text +000203d4 addiu at,at,0 + 203d4: R_MIPS_LO16 \.text +000203d8 jr at +000203dc nop +000203e0 bltzl a0,000203f0 +000203e4 nop +000203e8 beqzl zero,00020400 +000203ec nop +000203f0 lw at,0\(gp\) + 203f0: R_MIPS_GOT16 \.text +000203f4 addiu at,at,0 + 203f4: R_MIPS_LO16 \.text +000203f8 jr at +000203fc nop +00020400 bgezl a1,00020410 +00020404 nop +00020408 beqzl zero,00020420 +0002040c nop +00020410 lw at,0\(gp\) + 20410: R_MIPS_GOT16 \.text +00020414 addiu at,at,0 + 20414: R_MIPS_LO16 \.text +00020418 jr at +0002041c nop +00020420 bc1fl 00020430 +00020424 nop +00020428 beqzl zero,00020440 +0002042c nop +00020430 lw at,0\(gp\) + 20430: R_MIPS_GOT16 \.text +00020434 addiu at,at,0 + 20434: R_MIPS_LO16 \.text +00020438 jr at +0002043c nop +00020440 bc1tl 00020450 +00020444 nop +00020448 beqzl zero,00020460 +0002044c nop +00020450 lw at,0\(gp\) + 20450: R_MIPS_GOT16 \.text +00020454 addiu at,at,0 + 20454: R_MIPS_LO16 \.text +00020458 jr at +0002045c nop +00020460 bltzl v0,00020470 +00020464 nop +00020468 beqzl zero,00020480 +0002046c nop +00020470 lw at,0\(gp\) + 20470: R_MIPS_GOT16 \.text +00020474 addiu at,at,0 + 20474: R_MIPS_LO16 \.text +00020478 jalr at +0002047c nop +00020480 bgezl v1,00020490 +00020484 nop +00020488 beqzl zero,000204a0 +0002048c nop +00020490 lw at,0\(gp\) + 20490: R_MIPS_GOT16 \.text +00020494 addiu at,at,0 + 20494: R_MIPS_LO16 \.text +00020498 jalr at +0002049c nop diff --git a/gas/testsuite/gas/mips/relax.l b/gas/testsuite/gas/mips/relax.l new file mode 100644 index 0000000000..1fea4994aa --- /dev/null +++ b/gas/testsuite/gas/mips/relax.l @@ -0,0 +1,45 @@ +.*: Assembler messages: +.*:5: Warning: relaxed out-of-range branch into a jump +.*:6: Warning: relaxed out-of-range branch into a jump +.*:7: Warning: relaxed out-of-range branch into a jump +.*:8: Warning: relaxed out-of-range branch into a jump +.*:9: Warning: relaxed out-of-range branch into a jump +.*:10: Warning: relaxed out-of-range branch into a jump +.*:11: Warning: relaxed out-of-range branch into a jump +.*:12: Warning: relaxed out-of-range branch into a jump +.*:13: Warning: relaxed out-of-range branch into a jump +.*:14: Warning: relaxed out-of-range branch into a jump +.*:16: Warning: relaxed out-of-range branch into a jump +.*:17: Warning: relaxed out-of-range branch into a jump +.*:19: Warning: relaxed out-of-range branch into a jump +.*:20: Warning: relaxed out-of-range branch into a jump +.*:21: Warning: relaxed out-of-range branch into a jump +.*:22: Warning: relaxed out-of-range branch into a jump +.*:23: Warning: relaxed out-of-range branch into a jump +.*:24: Warning: relaxed out-of-range branch into a jump +.*:25: Warning: relaxed out-of-range branch into a jump +.*:26: Warning: relaxed out-of-range branch into a jump +.*:28: Warning: relaxed out-of-range branch into a jump +.*:29: Warning: relaxed out-of-range branch into a jump +.*:33: Warning: relaxed out-of-range branch into a jump +.*:34: Warning: relaxed out-of-range branch into a jump +.*:35: Warning: relaxed out-of-range branch into a jump +.*:36: Warning: relaxed out-of-range branch into a jump +.*:37: Warning: relaxed out-of-range branch into a jump +.*:38: Warning: relaxed out-of-range branch into a jump +.*:39: Warning: relaxed out-of-range branch into a jump +.*:40: Warning: relaxed out-of-range branch into a jump +.*:41: Warning: relaxed out-of-range branch into a jump +.*:42: Warning: relaxed out-of-range branch into a jump +.*:44: Warning: relaxed out-of-range branch into a jump +.*:45: Warning: relaxed out-of-range branch into a jump +.*:47: Warning: relaxed out-of-range branch into a jump +.*:48: Warning: relaxed out-of-range branch into a jump +.*:49: Warning: relaxed out-of-range branch into a jump +.*:50: Warning: relaxed out-of-range branch into a jump +.*:51: Warning: relaxed out-of-range branch into a jump +.*:52: Warning: relaxed out-of-range branch into a jump +.*:53: Warning: relaxed out-of-range branch into a jump +.*:54: Warning: relaxed out-of-range branch into a jump +.*:56: Warning: relaxed out-of-range branch into a jump +.*:57: Warning: relaxed out-of-range branch into a jump diff --git a/gas/testsuite/gas/mips/relax.s b/gas/testsuite/gas/mips/relax.s index ca1b35677d..6424b3b7b3 100644 --- a/gas/testsuite/gas/mips/relax.s +++ b/gas/testsuite/gas/mips/relax.s @@ -2,6 +2,56 @@ .text foo: - move $2, $3 # just something + b bar + bal bar + beq $2, $3, bar + bne $4, $5, bar + blez $2, bar + bgtz $3, bar + bltz $4, bar + bgez $5, bar + bc1f bar + bc1t bar + + bltzal $2, bar + bgezal $3, bar + + beql $2, $3, bar + bnel $4, $5, bar + blezl $2, bar + bgtzl $3, bar + bltzl $4, bar + bgezl $5, bar + bc1fl bar + bc1tl bar + + bltzall $2, bar + bgezall $3, bar + .space 0x20000 # to make a 128kb loop body - beq $2, $3, foo +bar: + b foo + bal foo + beq $2, $3, foo + bne $4, $5, foo + blez $2, foo + bgtz $3, foo + bltz $4, foo + bgez $5, foo + bc1f foo + bc1t foo + + bltzal $2, foo + bgezal $3, foo + + beql $2, $3, foo + bnel $4, $5, foo + blezl $2, foo + bgtzl $3, foo + bltzl $4, foo + bgezl $5, foo + bc1fl foo + bc1tl foo + + bltzall $2, foo + bgezall $3, foo -- 2.11.0