From: Ian Lance Taylor Date: Fri, 23 Sep 1994 19:10:21 +0000 (+0000) Subject: * gas/mips: New directory with MIPS specific test cases. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5fe67aa8fb255b5152b46599aa133fe551c8b3b1;p=binutils-gdb.git * gas/mips: New directory with MIPS specific test cases. --- diff --git a/gas/testsuite/gas/.Sanitize b/gas/testsuite/gas/.Sanitize index 045897eca9d..5bb71212c0b 100644 --- a/gas/testsuite/gas/.Sanitize +++ b/gas/testsuite/gas/.Sanitize @@ -34,6 +34,7 @@ i386 ieee.fp m68k m68k-coff +mips sparc-solaris sun4 template diff --git a/gas/testsuite/gas/mips/.Sanitize b/gas/testsuite/gas/mips/.Sanitize new file mode 100644 index 00000000000..cea06186304 --- /dev/null +++ b/gas/testsuite/gas/mips/.Sanitize @@ -0,0 +1,81 @@ +# Sanitize.in for devo. +# $Id$ +# + +# Each directory to survive it's way into a release will need a file +# like this one called "./.Sanitize". All keyword lines must exist, +# and must exist in the order specified by this file. Each directory +# in the tree will be processed, top down, in the following order. + +# Hash started lines like this one are comments and will be deleted +# before anything else is done. Blank lines will also be squashed +# out. + +# The lines between the "Do-first:" line and the "Things-to-keep:" +# line are executed as a /bin/sh shell script before anything else is +# done in this + +Do-first: + + +# All files listed between the "Things-to-keep:" line and the +# "Files-to-sed:" line will be kept. All other files will be removed. +# Directories listed in this section will have their own Sanitize +# called. Directories not listed will be removed in their entirety +# with rm -rf. + +Things-to-keep: + +abs.d +abs.s +add.d +add.s +and.d +and.s +beq.d +beq.s +bge.d +bge.s +bgeu.d +bgeu.s +blt.d +blt.s +bltu.d +bltu.s +div.d +div.s +jal.d +jal.s +la.d +la.s +lb.d +lb.s +ld.d +ld.s +li.d +li.s +lifloat.d +lifloat.s +mips.exp +mul.d +mul.s +rol.d +rol.s +sb.d +sb.s +trunc.d +trunc.s +ulh.d +ulh.s +ulw.d +ulw.s +ush.d +ush.s +usw.d +usw.s + +Things-to-lose: + +Do-last: + +# End of file. diff --git a/gas/testsuite/gas/mips/abs.s b/gas/testsuite/gas/mips/abs.s new file mode 100644 index 00000000000..a2ae06eb5bd --- /dev/null +++ b/gas/testsuite/gas/mips/abs.s @@ -0,0 +1,4 @@ +# Source file used to test the abs macro. + + abs $4 + abs $4,$5 diff --git a/gas/testsuite/gas/mips/beq.d b/gas/testsuite/gas/mips/beq.d new file mode 100644 index 00000000000..64f8107da84 --- /dev/null +++ b/gas/testsuite/gas/mips/beq.d @@ -0,0 +1,34 @@ +#objdump: -dr +#name: beq + +# Test the beq macro. + +.*: +file format .*mips.* + +Disassembly of section .text: +0+0000 <[^>]*> beq \$a0,\$a1,0+0000 +... +0+0008 <[^>]*> beqz \$a0,0+0000 +... +0+0010 <[^>]*> li \$at,1 +0+0014 <[^>]*> beq \$a0,\$at,0+0000 +... +0+001c <[^>]*> li \$at,32768 +0+0020 <[^>]*> beq \$a0,\$at,0+0000 +... +0+0028 <[^>]*> li \$at,-32768 +0+002c <[^>]*> beq \$a0,\$at,0+0000 +... +0+0034 <[^>]*> lui \$at,1 +0+0038 <[^>]*> beq \$a0,\$at,0+0000 +... +0+0040 <[^>]*> lui \$at,1 +0+0044 <[^>]*> ori \$at,\$at,42405 +0+0048 <[^>]*> beq \$a0,\$at,0+0000 +... +0+0050 <[^>]*> bnez \$a0,0+0000 +... +0+0058 <[^>]*> beqzl \$a0,0+0000 +... +0+0060 <[^>]*> bnezl \$a0,0+0000 +... diff --git a/gas/testsuite/gas/mips/beq.s b/gas/testsuite/gas/mips/beq.s new file mode 100644 index 00000000000..2525026d07b --- /dev/null +++ b/gas/testsuite/gas/mips/beq.s @@ -0,0 +1,18 @@ +# Source file used to test the beq macro. + +text_label: + beq $4,$5,text_label + beq $4,0,text_label + beq $4,1,text_label + beq $4,0x8000,text_label + beq $4,-0x8000,text_label + beq $4,0x10000,text_label + beq $4,0x1a5a5,text_label + +# bne is handled by the same code as beq. Just sanity check. + bne $4,0,text_label + +# Sanity check beql and bnel + .set mips2 + beql $4,0,text_label + bnel $4,0,text_label diff --git a/gas/testsuite/gas/mips/bge.s b/gas/testsuite/gas/mips/bge.s new file mode 100644 index 00000000000..a1c08b2b3ec --- /dev/null +++ b/gas/testsuite/gas/mips/bge.s @@ -0,0 +1,25 @@ +# Source file used to test the bge macro. + +text_label: + bge $4,$5,text_label + bge $4,$0,text_label + bge $0,$5,text_label + bge $4,0,text_label + bge $4,1,text_label + bge $4,2,text_label + bge $4,0x8000,text_label + bge $4,-0x8000,text_label + bge $4,0x10000,text_label + bge $4,0x1a5a5,text_label + +# bgt is handled like bge, except when both arguments are registers. +# Just sanity check it otherwise. + bgt $4,$5,text_label + bgt $4,$0,text_label + bgt $0,$5,text_label + bgt $4,0,text_label + +# Sanity test bgel and bgtl + .set mips2 + bgel $4,$5,text_label + bgtl $4,$5,text_label diff --git a/gas/testsuite/gas/mips/bgeu.s b/gas/testsuite/gas/mips/bgeu.s new file mode 100644 index 00000000000..1ba3b295093 --- /dev/null +++ b/gas/testsuite/gas/mips/bgeu.s @@ -0,0 +1,23 @@ +# Source file used to test the bgeu macro. + +text_label: + bgeu $4,$5,text_label + bgeu $0,$5,text_label + # A second argument of 0 or $0 is always true + bgeu $4,1,text_label + bgeu $4,2,text_label + bgeu $4,0x8000,text_label + bgeu $4,-0x8000,text_label + bgeu $4,0x10000,text_label + bgeu $4,0x1a5a5,text_label + +# bgtu is handled like bgeu, except when both arguments are registers. +# Just sanity check it otherwise. + bgtu $4,$5,text_label + bgtu $4,$0,text_label + bgtu $4,0,text_label + +# Sanity test bgeul and bgtul + .set mips2 + bgeul $4,$5,text_label + bgtul $4,$5,text_label diff --git a/gas/testsuite/gas/mips/blt.s b/gas/testsuite/gas/mips/blt.s new file mode 100644 index 00000000000..ffa8b1f754f --- /dev/null +++ b/gas/testsuite/gas/mips/blt.s @@ -0,0 +1,25 @@ +# Source file used to test the blt macro. + +text_label: + blt $4,$5,text_label + blt $4,$0,text_label + blt $0,$5,text_label + blt $4,0,text_label + blt $4,1,text_label + blt $4,2,text_label + blt $4,0x8000,text_label + blt $4,-0x8000,text_label + blt $4,0x10000,text_label + blt $4,0x1a5a5,text_label + +# ble is handled like blt, except when both arguments are registers. +# Just sanity check it otherwise. + ble $4,$5,text_label + ble $4,$0,text_label + ble $0,$5,text_label + ble $4,0,text_label + +# Sanity test bltl and blel + .set mips2 + bltl $4,$5,text_label + blel $4,$5,text_label diff --git a/gas/testsuite/gas/mips/bltu.s b/gas/testsuite/gas/mips/bltu.s new file mode 100644 index 00000000000..1fbed16a723 --- /dev/null +++ b/gas/testsuite/gas/mips/bltu.s @@ -0,0 +1,23 @@ +# Source file used to test the bltu macro. + +text_label: + bltu $4,$5,text_label + bltu $0,$5,text_label + # A second argument of 0 or $0 is always false + bltu $4,1,text_label + bltu $4,2,text_label + bltu $4,0x8000,text_label + bltu $4,-0x8000,text_label + bltu $4,0x10000,text_label + bltu $4,0x1a5a5,text_label + +# bleu is handled like bltu, except when both arguments are registers. +# Just sanity check it otherwise. + bleu $4,$5,text_label + bleu $4,$0,text_label + bleu $4,0,text_label + +# Sanity test bltul and bleul + .set mips2 + bltul $4,$5,text_label + bleul $4,$5,text_label diff --git a/gas/testsuite/gas/mips/div.s b/gas/testsuite/gas/mips/div.s new file mode 100644 index 00000000000..0d1b67a1a8e --- /dev/null +++ b/gas/testsuite/gas/mips/div.s @@ -0,0 +1,37 @@ +# Source file used to test the div macro. + + div $0,$4,$5 + div $4,$5 + div $4,$5,$6 + div $4,1 + div $4,$5,1 + div $4,-1 + div $4,$5,-1 + div $4,2 + div $4,$5,2 + div $4,0x8000 + div $4,$5,0x8000 + div $4,-0x8000 + div $4,$5,-0x8000 + div $4,0x10000 + div $4,$5,0x10000 + div $4,0x1a5a5 + div $4,$5,0x1a5a5 + +# divu is like div, except when both arguments are registers. +# Just sanity check it otherwise. + divu $0,$4,$5 + divu $4,$5 + divu $4,$5,$6 + divu $4,1 + +# rem is like div, remu is like divu + rem $4,$5,$6 + remu $4,$5,2 + +# Sanity check the 64 bit versions. + .set mips3 + ddiv $4,$5,$6 + ddivu $4,$5,2 + drem $4,$5,0x8000 + dremu $4,$5,-0x8000 diff --git a/gas/testsuite/gas/mips/jal.s b/gas/testsuite/gas/mips/jal.s new file mode 100644 index 00000000000..eab4e1d317e --- /dev/null +++ b/gas/testsuite/gas/mips/jal.s @@ -0,0 +1,11 @@ +# Source file used to test the jal macro. + +text_label: + jal $25 + jal $4,$25 + jal text_label + jal external_text_label + +# Test j as well + j text_label + j external_text_label diff --git a/gas/testsuite/gas/mips/la.s b/gas/testsuite/gas/mips/la.s new file mode 100644 index 00000000000..0a2b08b8d1f --- /dev/null +++ b/gas/testsuite/gas/mips/la.s @@ -0,0 +1,108 @@ +# Source file used to test the la macro. + + .data +data_label: + .extern big_external_data_label,1000 + .extern small_external_data_label,1 + .comm big_external_common,1000 + .comm small_external_common,1 + .lcomm big_local_common,1000 + .lcomm small_local_common,1 + + .text + la $4,0 + la $4,1 + la $4,0x8000 + la $4,-0x8000 + la $4,0x10000 + la $4,0x1a5a5 + la $4,0($5) + la $4,1($5) + la $4,0x8000($5) + la $4,-0x8000($5) + la $4,0x10000($5) + la $4,0x1a5a5($5) + la $4,data_label + la $4,big_external_data_label + la $4,small_external_data_label + la $4,big_external_common + la $4,small_external_common + la $4,big_local_common + la $4,small_local_common + la $4,data_label+1 + la $4,big_external_data_label+1 + la $4,small_external_data_label+1 + la $4,big_external_common+1 + la $4,small_external_common+1 + la $4,big_local_common+1 + la $4,small_local_common+1 + la $4,data_label+0x8000 + la $4,big_external_data_label+0x8000 + la $4,small_external_data_label+0x8000 + la $4,big_external_common+0x8000 + la $4,small_external_common+0x8000 + la $4,big_local_common+0x8000 + la $4,small_local_common+0x8000 + la $4,data_label-0x8000 + la $4,big_external_data_label-0x8000 + la $4,small_external_data_label-0x8000 + la $4,big_external_common-0x8000 + la $4,small_external_common-0x8000 + la $4,big_local_common-0x8000 + la $4,small_local_common-0x8000 + la $4,data_label+0x10000 + la $4,big_external_data_label+0x10000 + la $4,small_external_data_label+0x10000 + la $4,big_external_common+0x10000 + la $4,small_external_common+0x10000 + la $4,big_local_common+0x10000 + la $4,small_local_common+0x10000 + la $4,data_label+0x1a5a5 + la $4,big_external_data_label+0x1a5a5 + la $4,small_external_data_label+0x1a5a5 + la $4,big_external_common+0x1a5a5 + la $4,small_external_common+0x1a5a5 + la $4,big_local_common+0x1a5a5 + la $4,small_local_common+0x1a5a5 + la $4,data_label($5) + la $4,big_external_data_label($5) + la $4,small_external_data_label($5) + la $4,big_external_common($5) + la $4,small_external_common($5) + la $4,big_local_common($5) + la $4,small_local_common($5) + la $4,data_label+1($5) + la $4,big_external_data_label+1($5) + la $4,small_external_data_label+1($5) + la $4,big_external_common+1($5) + la $4,small_external_common+1($5) + la $4,big_local_common+1($5) + la $4,small_local_common+1($5) + la $4,data_label+0x8000($5) + la $4,big_external_data_label+0x8000($5) + la $4,small_external_data_label+0x8000($5) + la $4,big_external_common+0x8000($5) + la $4,small_external_common+0x8000($5) + la $4,big_local_common+0x8000($5) + la $4,small_local_common+0x8000($5) + la $4,data_label-0x8000($5) + la $4,big_external_data_label-0x8000($5) + la $4,small_external_data_label-0x8000($5) + la $4,big_external_common-0x8000($5) + la $4,small_external_common-0x8000($5) + la $4,big_local_common-0x8000($5) + la $4,small_local_common-0x8000($5) + la $4,data_label+0x10000($5) + la $4,big_external_data_label+0x10000($5) + la $4,small_external_data_label+0x10000($5) + la $4,big_external_common+0x10000($5) + la $4,small_external_common+0x10000($5) + la $4,big_local_common+0x10000($5) + la $4,small_local_common+0x10000($5) + la $4,data_label+0x1a5a5($5) + la $4,big_external_data_label+0x1a5a5($5) + la $4,small_external_data_label+0x1a5a5($5) + la $4,big_external_common+0x1a5a5($5) + la $4,small_external_common+0x1a5a5($5) + la $4,big_local_common+0x1a5a5($5) + la $4,small_local_common+0x1a5a5($5) diff --git a/gas/testsuite/gas/mips/lb.s b/gas/testsuite/gas/mips/lb.s new file mode 100644 index 00000000000..1170a65d168 --- /dev/null +++ b/gas/testsuite/gas/mips/lb.s @@ -0,0 +1,120 @@ +# Source file used to test the lb macro. + + .data +data_label: + .extern big_external_data_label,1000 + .extern small_external_data_label,1 + .comm big_external_common,1000 + .comm small_external_common,1 + .lcomm big_local_common,1000 + .lcomm small_local_common,1 + + .text + lb $4,0 + lb $4,1 + lb $4,0x8000 + lb $4,-0x8000 + lb $4,0x10000 + lb $4,0x1a5a5 + lb $4,0($5) + lb $4,1($5) + lb $4,0x8000($5) + lb $4,-0x8000($5) + lb $4,0x10000($5) + lb $4,0x1a5a5($5) + lb $4,data_label + lb $4,big_external_data_label + lb $4,small_external_data_label + lb $4,big_external_common + lb $4,small_external_common + lb $4,big_local_common + lb $4,small_local_common + lb $4,data_label+1 + lb $4,big_external_data_label+1 + lb $4,small_external_data_label+1 + lb $4,big_external_common+1 + lb $4,small_external_common+1 + lb $4,big_local_common+1 + lb $4,small_local_common+1 + lb $4,data_label+0x8000 + lb $4,big_external_data_label+0x8000 + lb $4,small_external_data_label+0x8000 + lb $4,big_external_common+0x8000 + lb $4,small_external_common+0x8000 + lb $4,big_local_common+0x8000 + lb $4,small_local_common+0x8000 + lb $4,data_label-0x8000 + lb $4,big_external_data_label-0x8000 + lb $4,small_external_data_label-0x8000 + lb $4,big_external_common-0x8000 + lb $4,small_external_common-0x8000 + lb $4,big_local_common-0x8000 + lb $4,small_local_common-0x8000 + lb $4,data_label+0x10000 + lb $4,big_external_data_label+0x10000 + lb $4,small_external_data_label+0x10000 + lb $4,big_external_common+0x10000 + lb $4,small_external_common+0x10000 + lb $4,big_local_common+0x10000 + lb $4,small_local_common+0x10000 + lb $4,data_label+0x1a5a5 + lb $4,big_external_data_label+0x1a5a5 + lb $4,small_external_data_label+0x1a5a5 + lb $4,big_external_common+0x1a5a5 + lb $4,small_external_common+0x1a5a5 + lb $4,big_local_common+0x1a5a5 + lb $4,small_local_common+0x1a5a5 + lb $4,data_label($5) + lb $4,big_external_data_label($5) + lb $4,small_external_data_label($5) + lb $4,big_external_common($5) + lb $4,small_external_common($5) + lb $4,big_local_common($5) + lb $4,small_local_common($5) + lb $4,data_label+1($5) + lb $4,big_external_data_label+1($5) + lb $4,small_external_data_label+1($5) + lb $4,big_external_common+1($5) + lb $4,small_external_common+1($5) + lb $4,big_local_common+1($5) + lb $4,small_local_common+1($5) + lb $4,data_label+0x8000($5) + lb $4,big_external_data_label+0x8000($5) + lb $4,small_external_data_label+0x8000($5) + lb $4,big_external_common+0x8000($5) + lb $4,small_external_common+0x8000($5) + lb $4,big_local_common+0x8000($5) + lb $4,small_local_common+0x8000($5) + lb $4,data_label-0x8000($5) + lb $4,big_external_data_label-0x8000($5) + lb $4,small_external_data_label-0x8000($5) + lb $4,big_external_common-0x8000($5) + lb $4,small_external_common-0x8000($5) + lb $4,big_local_common-0x8000($5) + lb $4,small_local_common-0x8000($5) + lb $4,data_label+0x10000($5) + lb $4,big_external_data_label+0x10000($5) + lb $4,small_external_data_label+0x10000($5) + lb $4,big_external_common+0x10000($5) + lb $4,small_external_common+0x10000($5) + lb $4,big_local_common+0x10000($5) + lb $4,small_local_common+0x10000($5) + lb $4,data_label+0x1a5a5($5) + lb $4,big_external_data_label+0x1a5a5($5) + lb $4,small_external_data_label+0x1a5a5($5) + lb $4,big_external_common+0x1a5a5($5) + lb $4,small_external_common+0x1a5a5($5) + lb $4,big_local_common+0x1a5a5($5) + lb $4,small_local_common+0x1a5a5($5) + +# Several macros are handled like lb. Sanity check them. + lbu $4,0 + lh $4,0 + lhu $4,0 + lw $4,0 + lwl $4,0 + lwr $4,0 + lwc0 $4,0 + lwc1 $4,0 + lwc2 $4,0 + lwc3 $4,0 diff --git a/gas/testsuite/gas/mips/ld.d b/gas/testsuite/gas/mips/ld.d new file mode 100644 index 00000000000..9f9ac954cb6 --- /dev/null +++ b/gas/testsuite/gas/mips/ld.d @@ -0,0 +1,650 @@ +#objdump: -dr +#name: ld + +# Test the ld macro. + +.*: +file format .*mips.* + +Disassembly of section .text: +0+0000 <[^>]*> lw \$a0,0\(\$zero\) +0+0004 <[^>]*> lw \$a1,4\(\$zero\) +0+0008 <[^>]*> lw \$a0,1\(\$zero\) +0+000c <[^>]*> lw \$a1,5\(\$zero\) +0+0010 <[^>]*> lui \$at,1 +0+0014 <[^>]*> lw \$a0,-32768\(\$at\) +0+0018 <[^>]*> lw \$a1,-32764\(\$at\) +0+001c <[^>]*> lw \$a0,-32768\(\$zero\) +0+0020 <[^>]*> lw \$a1,-32764\(\$zero\) +0+0024 <[^>]*> lui \$at,1 +0+0028 <[^>]*> lw \$a0,0\(\$at\) +0+002c <[^>]*> lw \$a1,4\(\$at\) +0+0030 <[^>]*> lui \$at,2 +0+0034 <[^>]*> lw \$a0,-23131\(\$at\) +0+0038 <[^>]*> lw \$a1,-23127\(\$at\) +... +0+0040 <[^>]*> lw \$a0,0\(\$a1\) +0+0044 <[^>]*> lw \$a1,4\(\$a1\) +... +0+004c <[^>]*> lw \$a0,1\(\$a1\) +0+0050 <[^>]*> lw \$a1,5\(\$a1\) +0+0054 <[^>]*> lui \$at,1 +0+0058 <[^>]*> addu \$at,\$a1,\$at +0+005c <[^>]*> lw \$a0,-32768\(\$at\) +0+0060 <[^>]*> lw \$a1,-32764\(\$at\) +... +0+0068 <[^>]*> lw \$a0,-32768\(\$a1\) +0+006c <[^>]*> lw \$a1,-32764\(\$a1\) +0+0070 <[^>]*> lui \$at,1 +0+0074 <[^>]*> addu \$at,\$a1,\$at +0+0078 <[^>]*> lw \$a0,0\(\$at\) +0+007c <[^>]*> lw \$a1,4\(\$at\) +0+0080 <[^>]*> lui \$at,2 +0+0084 <[^>]*> addu \$at,\$a1,\$at +0+0088 <[^>]*> lw \$a0,-23131\(\$at\) +0+008c <[^>]*> lw \$a1,-23127\(\$at\) +0+0090 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0090 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0094 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0094 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0098 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0098 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+009c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+009c [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+00a0 <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+00a0 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+00a4 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+00a4 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+00a8 <[^>]*> lw \$a0,0\(\$gp\) +[ ]*RELOC: 0+00a8 [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label +0+00ac <[^>]*> lw \$a1,[-0-9]+\(\$gp\) +[ ]*RELOC: 0+00ac [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label +0+00b0 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00b0 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+00b4 <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+00b4 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+00b8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+00b8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+00bc <[^>]*> lw \$a0,0\(\$gp\) +[ ]*RELOC: 0+00bc [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common +0+00c0 <[^>]*> lw \$a1,[-0-9]+\(\$gp\) +[ ]*RELOC: 0+00c0 [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common +0+00c4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00c4 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+00c8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+00c8 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+00cc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+00cc [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+00d0 <[^>]*> lw \$a0,[-0-9]+\(\$gp\) +[ ]*RELOC: 0+00d0 [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* +0+00d4 <[^>]*> lw \$a1,[-0-9]+\(\$gp\) +[ ]*RELOC: 0+00d4 [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* +0+00d8 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00d8 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+00dc <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+00dc [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+00e0 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+00e0 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+00e4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00e4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+00e8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+00e8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+00ec <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+00ec [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+00f0 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00f0 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+00f4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+00f4 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+00f8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+00f8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+00fc <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00fc [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0100 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0100 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0104 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0104 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0108 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0108 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+010c <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+010c [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0110 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0110 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0114 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0114 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0118 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0118 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+011c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+011c [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0120 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0120 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0124 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0124 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0128 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0128 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+012c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+012c [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0130 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0130 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0134 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0134 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0138 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0138 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+013c <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+013c [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0140 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0140 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0144 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0144 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0148 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0148 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+014c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+014c [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0150 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0150 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0154 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0154 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0158 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0158 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+015c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+015c [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0160 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0160 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0164 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0164 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0168 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0168 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+016c <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+016c [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0170 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0170 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0174 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0174 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0178 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0178 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+017c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+017c [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0180 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0180 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0184 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0184 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0188 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0188 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+018c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+018c [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0190 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0190 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0194 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0194 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0198 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0198 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+019c <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+019c [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+01a0 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01a0 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+01a4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01a4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+01a8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01a8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+01ac <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01ac [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+01b0 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01b0 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+01b4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01b4 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+01b8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01b8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+01bc <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01bc [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+01c0 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01c0 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+01c4 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01c4 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+01c8 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01c8 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+01cc <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01cc [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+01d0 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01d0 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+01d4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+01d4 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+01d8 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01d8 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+01dc <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01dc [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+01e0 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+01e0 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+01e4 <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+01e4 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+01e8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01e8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+01ec <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+01ec [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+01f0 <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+01f0 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+01f4 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+01f4 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+01f8 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+01f8 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+01fc <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+01fc [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0200 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0200 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0204 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0204 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0208 <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+0208 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+020c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+020c [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0210 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0210 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0214 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0214 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0218 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0218 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+021c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+021c [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0220 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0220 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0224 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0224 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0228 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0228 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+022c <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+022c [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0230 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0230 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0234 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0234 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0238 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0238 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+023c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+023c [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0240 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0240 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0244 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0244 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0248 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0248 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+024c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+024c [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0250 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0250 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0254 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0254 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0258 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0258 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+025c <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+025c [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0260 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0260 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0264 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0264 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0268 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0268 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+026c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+026c [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0270 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0270 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0274 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0274 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0278 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0278 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +... +0+0280 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0280 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0284 <[^>]*> addu \$at,\$a1,\$at +0+0288 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0288 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+028c <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+028c [A-Z0-9_]*LO[A-Z0-9_]* .data.* +... +0+0294 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0294 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0298 <[^>]*> addu \$at,\$a1,\$at +0+029c <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+029c [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+02a0 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+02a0 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +... +0+02a8 <[^>]*> addu \$at,\$a1,\$gp +0+02ac <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+02ac [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label +0+02b0 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+02b0 [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label +... +0+02b8 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+02b8 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+02bc <[^>]*> addu \$at,\$a1,\$at +0+02c0 <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+02c0 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+02c4 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+02c4 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +... +0+02cc <[^>]*> addu \$at,\$a1,\$gp +0+02d0 <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+02d0 [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common +0+02d4 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+02d4 [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common +... +0+02dc <[^>]*> lui \$at,0 +[ ]*RELOC: 0+02dc [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+02e0 <[^>]*> addu \$at,\$a1,\$at +0+02e4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+02e4 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+02e8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+02e8 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +... +0+02f0 <[^>]*> addu \$at,\$a1,\$gp +0+02f4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+02f4 [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* +0+02f8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+02f8 [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* +0+02fc <[^>]*> lui \$at,0 +[ ]*RELOC: 0+02fc [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0300 <[^>]*> addu \$at,\$a1,\$at +0+0304 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0304 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0308 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0308 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+030c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+030c [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0310 <[^>]*> addu \$at,\$a1,\$at +0+0314 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0314 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0318 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0318 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+031c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+031c [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0320 <[^>]*> addu \$at,\$a1,\$at +0+0324 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0324 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0328 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0328 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+032c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+032c [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0330 <[^>]*> addu \$at,\$a1,\$at +0+0334 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0334 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0338 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0338 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+033c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+033c [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0340 <[^>]*> addu \$at,\$a1,\$at +0+0344 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0344 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0348 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0348 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+034c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+034c [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0350 <[^>]*> addu \$at,\$a1,\$at +0+0354 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0354 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0358 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0358 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+035c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+035c [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0360 <[^>]*> addu \$at,\$a1,\$at +0+0364 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0364 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0368 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0368 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+036c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+036c [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0370 <[^>]*> addu \$at,\$a1,\$at +0+0374 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0374 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0378 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0378 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+037c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+037c [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0380 <[^>]*> addu \$at,\$a1,\$at +0+0384 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0384 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0388 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0388 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+038c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+038c [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0390 <[^>]*> addu \$at,\$a1,\$at +0+0394 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0394 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0398 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0398 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+039c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+039c [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+03a0 <[^>]*> addu \$at,\$a1,\$at +0+03a4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03a4 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+03a8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03a8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+03ac <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+03ac [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+03b0 <[^>]*> addu \$at,\$a1,\$at +0+03b4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03b4 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+03b8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03b8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+03bc <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+03bc [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+03c0 <[^>]*> addu \$at,\$a1,\$at +0+03c4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03c4 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+03c8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03c8 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+03cc <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+03cc [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+03d0 <[^>]*> addu \$at,\$a1,\$at +0+03d4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03d4 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+03d8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03d8 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+03dc <[^>]*> lui \$at,0 +[ ]*RELOC: 0+03dc [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+03e0 <[^>]*> addu \$at,\$a1,\$at +0+03e4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03e4 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+03e8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03e8 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+03ec <[^>]*> lui \$at,0 +[ ]*RELOC: 0+03ec [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+03f0 <[^>]*> addu \$at,\$a1,\$at +0+03f4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03f4 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+03f8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+03f8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+03fc <[^>]*> lui \$at,0 +[ ]*RELOC: 0+03fc [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0400 <[^>]*> addu \$at,\$a1,\$at +0+0404 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0404 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0408 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0408 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+040c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+040c [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0410 <[^>]*> addu \$at,\$a1,\$at +0+0414 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0414 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0418 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0418 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+041c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+041c [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0420 <[^>]*> addu \$at,\$a1,\$at +0+0424 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0424 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0428 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0428 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+042c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+042c [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0430 <[^>]*> addu \$at,\$a1,\$at +0+0434 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0434 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0438 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0438 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+043c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+043c [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0440 <[^>]*> addu \$at,\$a1,\$at +0+0444 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0444 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0448 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0448 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+044c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+044c [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0450 <[^>]*> addu \$at,\$a1,\$at +0+0454 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0454 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0458 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0458 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+045c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+045c [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0460 <[^>]*> addu \$at,\$a1,\$at +0+0464 <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+0464 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0468 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0468 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+046c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+046c [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0470 <[^>]*> addu \$at,\$a1,\$at +0+0474 <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+0474 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0478 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0478 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+047c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+047c [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0480 <[^>]*> addu \$at,\$a1,\$at +0+0484 <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+0484 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0488 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0488 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+048c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+048c [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0490 <[^>]*> addu \$at,\$a1,\$at +0+0494 <[^>]*> lw \$a0,0\(\$at\) +[ ]*RELOC: 0+0494 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0498 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0498 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+049c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+049c [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+04a0 <[^>]*> addu \$at,\$a1,\$at +0+04a4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04a4 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+04a8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04a8 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+04ac <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+04ac [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+04b0 <[^>]*> addu \$at,\$a1,\$at +0+04b4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04b4 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+04b8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04b8 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+04bc <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+04bc [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+04c0 <[^>]*> addu \$at,\$a1,\$at +0+04c4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04c4 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+04c8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04c8 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+04cc <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+04cc [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+04d0 <[^>]*> addu \$at,\$a1,\$at +0+04d4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04d4 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+04d8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04d8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+04dc <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+04dc [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+04e0 <[^>]*> addu \$at,\$a1,\$at +0+04e4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04e4 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+04e8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04e8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+04ec <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+04ec [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+04f0 <[^>]*> addu \$at,\$a1,\$at +0+04f4 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04f4 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+04f8 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+04f8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+04fc <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+04fc [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0500 <[^>]*> addu \$at,\$a1,\$at +0+0504 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0504 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0508 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0508 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+050c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+050c [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0510 <[^>]*> addu \$at,\$a1,\$at +0+0514 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0514 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0518 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0518 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+051c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+051c [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0520 <[^>]*> addu \$at,\$a1,\$at +0+0524 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0524 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0528 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0528 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+052c <[^>]*> lwc1 \$f5,0\(\$zero\) +0+0530 <[^>]*> lwc1 \$f4,4\(\$zero\) +0+0534 <[^>]*> lwc1 \$f5,1\(\$zero\) +0+0538 <[^>]*> lwc1 \$f4,5\(\$zero\) +0+053c <[^>]*> lui \$at,1 +0+0540 <[^>]*> lwc1 \$f5,-32768\(\$at\) +0+0544 <[^>]*> lwc1 \$f4,-32764\(\$at\) +0+0548 <[^>]*> lwc1 \$f5,-32768\(\$zero\) +0+054c <[^>]*> lwc1 \$f4,-32764\(\$zero\) +0+0550 <[^>]*> lwc1 \$f5,0\(\$a1\) +0+0554 <[^>]*> lwc1 \$f4,4\(\$a1\) +0+0558 <[^>]*> lwc1 \$f5,1\(\$a1\) +0+055c <[^>]*> lwc1 \$f4,5\(\$a1\) +0+0560 <[^>]*> lui \$at,1 +0+0564 <[^>]*> addu \$at,\$a1,\$at +0+0568 <[^>]*> lwc1 \$f5,-32768\(\$at\) +0+056c <[^>]*> lwc1 \$f4,-32764\(\$at\) +0+0570 <[^>]*> lwc1 \$f5,-32768\(\$a1\) +0+0574 <[^>]*> lwc1 \$f4,-32764\(\$a1\) +0+0578 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0578 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+057c <[^>]*> addu \$at,\$a1,\$at +0+0580 <[^>]*> lwc1 \$f5,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0580 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0584 <[^>]*> lwc1 \$f4,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0584 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0588 <[^>]*> swc1 \$f5,0\(\$zero\) +0+058c <[^>]*> swc1 \$f4,4\(\$zero\) +0+0590 <[^>]*> swc1 \$f5,1\(\$zero\) +0+0594 <[^>]*> swc1 \$f4,5\(\$zero\) +0+0598 <[^>]*> lui \$at,1 +0+059c <[^>]*> swc1 \$f5,-32768\(\$at\) +0+05a0 <[^>]*> swc1 \$f4,-32764\(\$at\) +0+05a4 <[^>]*> swc1 \$f5,-32768\(\$zero\) +0+05a8 <[^>]*> swc1 \$f4,-32764\(\$zero\) +0+05ac <[^>]*> swc1 \$f5,0\(\$a1\) +0+05b0 <[^>]*> swc1 \$f4,4\(\$a1\) +0+05b4 <[^>]*> swc1 \$f5,1\(\$a1\) +0+05b8 <[^>]*> swc1 \$f4,5\(\$a1\) +0+05bc <[^>]*> lui \$at,1 +0+05c0 <[^>]*> addu \$at,\$a1,\$at +0+05c4 <[^>]*> swc1 \$f5,-32768\(\$at\) +0+05c8 <[^>]*> swc1 \$f4,-32764\(\$at\) +0+05cc <[^>]*> swc1 \$f5,-32768\(\$a1\) +0+05d0 <[^>]*> swc1 \$f4,-32764\(\$a1\) +0+05d4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+05d4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+05d8 <[^>]*> addu \$at,\$a1,\$at +0+05dc <[^>]*> swc1 \$f5,[-0-9]+\(\$at\) +[ ]*RELOC: 0+05dc [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+05e0 <[^>]*> swc1 \$f4,[-0-9]+\(\$at\) +[ ]*RELOC: 0+05e0 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+05e4 <[^>]*> sw \$a0,0\(\$zero\) +0+05e8 <[^>]*> sw \$a1,4\(\$zero\) +0+05ec <[^>]*> lui \$a0,[-0-9]+ +[ ]*RELOC: 0+05ec [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+05f0 <[^>]*> daddu \$a0,\$a0,\$a1 +0+05f4 <[^>]*> ld \$a0,[-0-9]+\(\$a0\) +[ ]*RELOC: 0+05f4 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+05f8 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+05f8 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+05fc <[^>]*> daddu \$at,\$at,\$a1 +0+0600 <[^>]*> sd \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0600 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +... diff --git a/gas/testsuite/gas/mips/ld.s b/gas/testsuite/gas/mips/ld.s new file mode 100644 index 00000000000..0ee236dc2d3 --- /dev/null +++ b/gas/testsuite/gas/mips/ld.s @@ -0,0 +1,138 @@ +# Source file used to test the ld macro. + + .set mips1 + + .data +data_label: + .extern big_external_data_label,1000 + .extern small_external_data_label,1 + .comm big_external_common,1000 + .comm small_external_common,1 + .lcomm big_local_common,1000 + .lcomm small_local_common,1 + + .text + ld $4,0 + ld $4,1 + ld $4,0x8000 + ld $4,-0x8000 + ld $4,0x10000 + ld $4,0x1a5a5 + ld $4,0($5) + ld $4,1($5) + ld $4,0x8000($5) + ld $4,-0x8000($5) + ld $4,0x10000($5) + ld $4,0x1a5a5($5) + ld $4,data_label + ld $4,big_external_data_label + ld $4,small_external_data_label + ld $4,big_external_common + ld $4,small_external_common + ld $4,big_local_common + ld $4,small_local_common + ld $4,data_label+1 + ld $4,big_external_data_label+1 + ld $4,small_external_data_label+1 + ld $4,big_external_common+1 + ld $4,small_external_common+1 + ld $4,big_local_common+1 + ld $4,small_local_common+1 + ld $4,data_label+0x8000 + ld $4,big_external_data_label+0x8000 + ld $4,small_external_data_label+0x8000 + ld $4,big_external_common+0x8000 + ld $4,small_external_common+0x8000 + ld $4,big_local_common+0x8000 + ld $4,small_local_common+0x8000 + ld $4,data_label-0x8000 + ld $4,big_external_data_label-0x8000 + ld $4,small_external_data_label-0x8000 + ld $4,big_external_common-0x8000 + ld $4,small_external_common-0x8000 + ld $4,big_local_common-0x8000 + ld $4,small_local_common-0x8000 + ld $4,data_label+0x10000 + ld $4,big_external_data_label+0x10000 + ld $4,small_external_data_label+0x10000 + ld $4,big_external_common+0x10000 + ld $4,small_external_common+0x10000 + ld $4,big_local_common+0x10000 + ld $4,small_local_common+0x10000 + ld $4,data_label+0x1a5a5 + ld $4,big_external_data_label+0x1a5a5 + ld $4,small_external_data_label+0x1a5a5 + ld $4,big_external_common+0x1a5a5 + ld $4,small_external_common+0x1a5a5 + ld $4,big_local_common+0x1a5a5 + ld $4,small_local_common+0x1a5a5 + ld $4,data_label($5) + ld $4,big_external_data_label($5) + ld $4,small_external_data_label($5) + ld $4,big_external_common($5) + ld $4,small_external_common($5) + ld $4,big_local_common($5) + ld $4,small_local_common($5) + ld $4,data_label+1($5) + ld $4,big_external_data_label+1($5) + ld $4,small_external_data_label+1($5) + ld $4,big_external_common+1($5) + ld $4,small_external_common+1($5) + ld $4,big_local_common+1($5) + ld $4,small_local_common+1($5) + ld $4,data_label+0x8000($5) + ld $4,big_external_data_label+0x8000($5) + ld $4,small_external_data_label+0x8000($5) + ld $4,big_external_common+0x8000($5) + ld $4,small_external_common+0x8000($5) + ld $4,big_local_common+0x8000($5) + ld $4,small_local_common+0x8000($5) + ld $4,data_label-0x8000($5) + ld $4,big_external_data_label-0x8000($5) + ld $4,small_external_data_label-0x8000($5) + ld $4,big_external_common-0x8000($5) + ld $4,small_external_common-0x8000($5) + ld $4,big_local_common-0x8000($5) + ld $4,small_local_common-0x8000($5) + ld $4,data_label+0x10000($5) + ld $4,big_external_data_label+0x10000($5) + ld $4,small_external_data_label+0x10000($5) + ld $4,big_external_common+0x10000($5) + ld $4,small_external_common+0x10000($5) + ld $4,big_local_common+0x10000($5) + ld $4,small_local_common+0x10000($5) + ld $4,data_label+0x1a5a5($5) + ld $4,big_external_data_label+0x1a5a5($5) + ld $4,small_external_data_label+0x1a5a5($5) + ld $4,big_external_common+0x1a5a5($5) + ld $4,small_external_common+0x1a5a5($5) + ld $4,big_local_common+0x1a5a5($5) + ld $4,small_local_common+0x1a5a5($5) + +# l.d and s.d are sort of like ld. + l.d $f4,0 + l.d $f4,1 + l.d $f4,0x8000 + l.d $f4,-0x8000 + l.d $f4,0($5) + l.d $f4,1($5) + l.d $f4,0x8000($5) + l.d $f4,-0x8000($5) + l.d $f4,small_external_common+0x1a5a5($5) + s.d $f4,0 + s.d $f4,1 + s.d $f4,0x8000 + s.d $f4,-0x8000 + s.d $f4,0($5) + s.d $f4,1($5) + s.d $f4,0x8000($5) + s.d $f4,-0x8000($5) + s.d $f4,big_external_common+0x1a5a5($5) + +# sd is handled like ld. Sanity check it. + sd $4,0 + +# Sanity check the -mips3 versions + .set mips3 + ld $4,big_local_common+0x1a5a5($5) + sd $4,small_local_common+0x1a5a5($5) diff --git a/gas/testsuite/gas/mips/lifloat.d b/gas/testsuite/gas/mips/lifloat.d new file mode 100644 index 00000000000..378b46a35a5 --- /dev/null +++ b/gas/testsuite/gas/mips/lifloat.d @@ -0,0 +1,23 @@ +#objdump: -dr +#name: lifloat +#as: -mips1 + +# Test the li.d and li.s macros. + +.*: +file format .*mips.* + +Disassembly of section .text: +0+0000 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0000 [A-Z0-9_]*HI[A-Z0-9_]* .ro?data.* +0+0004 <[^>]*> lw \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0004 [A-Z0-9_]*LO[A-Z0-9_]* .ro?data.* +0+0008 <[^>]*> lw \$a1,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0008 [A-Z0-9_]*LO[A-Z0-9_]* .ro?data.* +0+000c <[^>]*> lwc1 \$f5,[-0-9]+\(\$gp\) +[ ]*RELOC: 0+000c [A-Z0-9_]*LITERAL[A-Z0-9_]* .lit8.* +0+0010 <[^>]*> lwc1 \$f4,[-0-9]+\(\$gp\) +[ ]*RELOC: 0+0010 [A-Z0-9_]*LITERAL[A-Z0-9_]* .lit8.* +0+0014 <[^>]*> lui \$a0,16256 +0+0018 <[^>]*> lwc1 \$f4,[-0-9]+\(\$gp\) +[ ]*RELOC: 0+0018 [A-Z0-9_]*LITERAL[A-Z0-9_]* .lit4.* +... diff --git a/gas/testsuite/gas/mips/lifloat.s b/gas/testsuite/gas/mips/lifloat.s new file mode 100644 index 00000000000..9a7d1380f3a --- /dev/null +++ b/gas/testsuite/gas/mips/lifloat.s @@ -0,0 +1,8 @@ +# Source file used to test the li.d and li.s macros. + +foo: + li.d $4,1.0 + li.d $f4,1.0 + + li.s $4,1.0 + li.s $f4,1.0 diff --git a/gas/testsuite/gas/mips/mul.d b/gas/testsuite/gas/mips/mul.d new file mode 100644 index 00000000000..6c356b6d995 --- /dev/null +++ b/gas/testsuite/gas/mips/mul.d @@ -0,0 +1,91 @@ +#objdump: -dr +#name: mul + +# Test the mul macro. + +.*: +file format .*mips.* + +No symbols in .* +Disassembly of section .text: +0+0000 multu \$a0,\$a1 +0+0004 mflo \$a0 +... +0+0010 multu \$a1,\$a2 +0+0014 mflo \$a0 +0+0018 li \$at,0 +... +0+0020 mult \$a1,\$at +0+0024 mflo \$a0 +0+0028 li \$at,1 +... +0+0030 mult \$a1,\$at +0+0034 mflo \$a0 +0+0038 li \$at,32768 +... +0+0040 mult \$a1,\$at +0+0044 mflo \$a0 +0+0048 li \$at,-32768 +... +0+0050 mult \$a1,\$at +0+0054 mflo \$a0 +0+0058 lui \$at,1 +... +0+0060 mult \$a1,\$at +0+0064 mflo \$a0 +0+0068 lui \$at,1 +0+006c ori \$at,\$at,42405 +0+0070 mult \$a1,\$at +0+0074 mflo \$a0 +... +0+0080 mult \$a0,\$a1 +0+0084 mflo \$a0 +0+0088 sra \$a0,\$a0,0x1f +0+008c mfhi \$at +0+0090 beq \$a0,\$at,0000009c +... +0+0098 break 0x6 +0+009c mflo \$a0 +... +0+00a8 mult \$a1,\$a2 +0+00ac mflo \$a0 +0+00b0 sra \$a0,\$a0,0x1f +0+00b4 mfhi \$at +0+00b8 beq \$a0,\$at,000000c4 +... +0+00c0 break 0x6 +0+00c4 mflo \$a0 +... +0+00d0 multu \$a0,\$a1 +0+00d4 mfhi \$at +0+00d8 mflo \$a0 +0+00dc beqz \$at,000000e8 +... +0+00e4 break 0x6 +0+00e8 multu \$a1,\$a2 +0+00ec mfhi \$at +0+00f0 mflo \$a0 +0+00f4 beqz \$at,00000100 +... +0+00fc break 0x6 +0+0100 dmultu \$a1,\$a2 +0+0104 mflo \$a0 +0+0108 li \$at,1 +... +0+0110 dmult \$a1,\$at +0+0114 mflo \$a0 +... +0+0120 dmult \$a1,\$a2 +0+0124 mflo \$a0 +0+0128 dsra32 \$a0,\$a0,0x1f +0+012c mfhi \$at +0+0130 beq \$a0,\$at,0000013c +... +0+0138 break 0x6 +0+013c mflo \$a0 +... +0+0148 dmultu \$a1,\$a2 +0+014c mfhi \$at +0+0150 mflo \$a0 +0+0154 beqz \$at,00000160 +... +0+015c break 0x6 diff --git a/gas/testsuite/gas/mips/mul.s b/gas/testsuite/gas/mips/mul.s new file mode 100644 index 00000000000..f9c20273b21 --- /dev/null +++ b/gas/testsuite/gas/mips/mul.s @@ -0,0 +1,24 @@ +# Source file used to test the mul macro. + + mul $4,$5 + mul $4,$5,$6 + mul $4,$5,0 + mul $4,$5,1 + mul $4,$5,0x8000 + mul $4,$5,-0x8000 + mul $4,$5,0x10000 + mul $4,$5,0x1a5a5 + +# mulo and mulou are only supported for register arguments + mulo $4,$5 + mulo $4,$5,$6 + + mulou $4,$5 + mulou $4,$5,$6 + +# Sanity check the 64 bit versions. + .set mips3 + dmul $4,$5,$6 + dmul $4,$5,1 + dmulo $4,$5,$6 + dmulou $4,$5,$6 diff --git a/gas/testsuite/gas/mips/rol.s b/gas/testsuite/gas/mips/rol.s new file mode 100644 index 00000000000..cfed5ea448c --- /dev/null +++ b/gas/testsuite/gas/mips/rol.s @@ -0,0 +1,11 @@ +# Source file used to test the rol and ror macros. + + rol $4,$5 + rol $4,$5,$6 + rol $4,1 + rol $4,$5,1 + + ror $4,$5 + ror $4,$5,$6 + ror $4,1 + ror $4,$5,1 diff --git a/gas/testsuite/gas/mips/sb.s b/gas/testsuite/gas/mips/sb.s new file mode 100644 index 00000000000..d5358482e7a --- /dev/null +++ b/gas/testsuite/gas/mips/sb.s @@ -0,0 +1,120 @@ +# Source file used to test the sb macro. + + .data +data_label: + .extern big_external_data_label,1000 + .extern small_external_data_label,1 + .comm big_external_common,1000 + .comm small_external_common,1 + .lcomm big_local_common,1000 + .lcomm small_local_common,1 + + .text + sb $4,0 + sb $4,1 + sb $4,0x8000 + sb $4,-0x8000 + sb $4,0x10000 + sb $4,0x1a5a5 + sb $4,0($5) + sb $4,1($5) + sb $4,0x8000($5) + sb $4,-0x8000($5) + sb $4,0x10000($5) + sb $4,0x1a5a5($5) + sb $4,data_label + sb $4,big_external_data_label + sb $4,small_external_data_label + sb $4,big_external_common + sb $4,small_external_common + sb $4,big_local_common + sb $4,small_local_common + sb $4,data_label+1 + sb $4,big_external_data_label+1 + sb $4,small_external_data_label+1 + sb $4,big_external_common+1 + sb $4,small_external_common+1 + sb $4,big_local_common+1 + sb $4,small_local_common+1 + sb $4,data_label+0x8000 + sb $4,big_external_data_label+0x8000 + sb $4,small_external_data_label+0x8000 + sb $4,big_external_common+0x8000 + sb $4,small_external_common+0x8000 + sb $4,big_local_common+0x8000 + sb $4,small_local_common+0x8000 + sb $4,data_label-0x8000 + sb $4,big_external_data_label-0x8000 + sb $4,small_external_data_label-0x8000 + sb $4,big_external_common-0x8000 + sb $4,small_external_common-0x8000 + sb $4,big_local_common-0x8000 + sb $4,small_local_common-0x8000 + sb $4,data_label+0x10000 + sb $4,big_external_data_label+0x10000 + sb $4,small_external_data_label+0x10000 + sb $4,big_external_common+0x10000 + sb $4,small_external_common+0x10000 + sb $4,big_local_common+0x10000 + sb $4,small_local_common+0x10000 + sb $4,data_label+0x1a5a5 + sb $4,big_external_data_label+0x1a5a5 + sb $4,small_external_data_label+0x1a5a5 + sb $4,big_external_common+0x1a5a5 + sb $4,small_external_common+0x1a5a5 + sb $4,big_local_common+0x1a5a5 + sb $4,small_local_common+0x1a5a5 + sb $4,data_label($5) + sb $4,big_external_data_label($5) + sb $4,small_external_data_label($5) + sb $4,big_external_common($5) + sb $4,small_external_common($5) + sb $4,big_local_common($5) + sb $4,small_local_common($5) + sb $4,data_label+1($5) + sb $4,big_external_data_label+1($5) + sb $4,small_external_data_label+1($5) + sb $4,big_external_common+1($5) + sb $4,small_external_common+1($5) + sb $4,big_local_common+1($5) + sb $4,small_local_common+1($5) + sb $4,data_label+0x8000($5) + sb $4,big_external_data_label+0x8000($5) + sb $4,small_external_data_label+0x8000($5) + sb $4,big_external_common+0x8000($5) + sb $4,small_external_common+0x8000($5) + sb $4,big_local_common+0x8000($5) + sb $4,small_local_common+0x8000($5) + sb $4,data_label-0x8000($5) + sb $4,big_external_data_label-0x8000($5) + sb $4,small_external_data_label-0x8000($5) + sb $4,big_external_common-0x8000($5) + sb $4,small_external_common-0x8000($5) + sb $4,big_local_common-0x8000($5) + sb $4,small_local_common-0x8000($5) + sb $4,data_label+0x10000($5) + sb $4,big_external_data_label+0x10000($5) + sb $4,small_external_data_label+0x10000($5) + sb $4,big_external_common+0x10000($5) + sb $4,small_external_common+0x10000($5) + sb $4,big_local_common+0x10000($5) + sb $4,small_local_common+0x10000($5) + sb $4,data_label+0x1a5a5($5) + sb $4,big_external_data_label+0x1a5a5($5) + sb $4,small_external_data_label+0x1a5a5($5) + sb $4,big_external_common+0x1a5a5($5) + sb $4,small_external_common+0x1a5a5($5) + sb $4,big_local_common+0x1a5a5($5) + sb $4,small_local_common+0x1a5a5($5) + +# Several macros are handled like sb. Sanity check them. + sd $4,0 + sh $4,0 + sw $4,0 + swc0 $4,0 + swc1 $4,0 + swc2 $4,0 + swc3 $4,0 + s.s $f4,0 + swl $4,0 + swr $4,0 diff --git a/gas/testsuite/gas/mips/trunc.s b/gas/testsuite/gas/mips/trunc.s new file mode 100644 index 00000000000..31409ab10d4 --- /dev/null +++ b/gas/testsuite/gas/mips/trunc.s @@ -0,0 +1,5 @@ +# Source file used to test the trunc macros. + + trunc.w.d $f4,$f6,$4 + + trunc.w.s $f4,$f6,$4 diff --git a/gas/testsuite/gas/mips/ulh.d b/gas/testsuite/gas/mips/ulh.d new file mode 100644 index 00000000000..ec867194c36 --- /dev/null +++ b/gas/testsuite/gas/mips/ulh.d @@ -0,0 +1,380 @@ +#objdump: -dr +#name: ulh +#as: -mips1 + +# Test the ulh macro. + +.*: +file format .*mips.* + +Disassembly of section .text: +0+0000 <[^>]*> lb \$a0,0\(\$zero\) +0+0004 <[^>]*> lbu \$at,1\(\$zero\) +0+0008 <[^>]*> sll \$a0,\$a0,0x8 +0+000c <[^>]*> or \$a0,\$a0,\$at +0+0010 <[^>]*> lb \$a0,1\(\$zero\) +0+0014 <[^>]*> lbu \$at,2\(\$zero\) +0+0018 <[^>]*> sll \$a0,\$a0,0x8 +0+001c <[^>]*> or \$a0,\$a0,\$at +0+0020 <[^>]*> li \$at,32768 +0+0024 <[^>]*> lb \$a0,0\(\$at\) +0+0028 <[^>]*> lbu \$at,1\(\$at\) +0+002c <[^>]*> sll \$a0,\$a0,0x8 +0+0030 <[^>]*> or \$a0,\$a0,\$at +0+0034 <[^>]*> lb \$a0,-32768\(\$zero\) +0+0038 <[^>]*> lbu \$at,-32767\(\$zero\) +0+003c <[^>]*> sll \$a0,\$a0,0x8 +0+0040 <[^>]*> or \$a0,\$a0,\$at +0+0044 <[^>]*> lui \$at,1 +0+0048 <[^>]*> lb \$a0,0\(\$at\) +0+004c <[^>]*> lbu \$at,1\(\$at\) +0+0050 <[^>]*> sll \$a0,\$a0,0x8 +0+0054 <[^>]*> or \$a0,\$a0,\$at +0+0058 <[^>]*> lui \$at,1 +0+005c <[^>]*> ori \$at,\$at,42405 +0+0060 <[^>]*> lb \$a0,0\(\$at\) +0+0064 <[^>]*> lbu \$at,1\(\$at\) +0+0068 <[^>]*> sll \$a0,\$a0,0x8 +0+006c <[^>]*> or \$a0,\$a0,\$at +0+0070 <[^>]*> lb \$a0,0\(\$a1\) +0+0074 <[^>]*> lbu \$at,1\(\$a1\) +0+0078 <[^>]*> sll \$a0,\$a0,0x8 +0+007c <[^>]*> or \$a0,\$a0,\$at +0+0080 <[^>]*> lb \$a0,1\(\$a1\) +0+0084 <[^>]*> lbu \$at,2\(\$a1\) +0+0088 <[^>]*> sll \$a0,\$a0,0x8 +0+008c <[^>]*> or \$a0,\$a0,\$at +[ ]*RELOC: 0+008c [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0090 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0090 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0094 <[^>]*> addiu \$at,\$at,0 +0+0098 <[^>]*> lb \$a0,0\(\$at\) +0+009c <[^>]*> lbu \$at,1\(\$at\) +0+00a0 <[^>]*> sll \$a0,\$a0,0x8 +0+00a4 <[^>]*> or \$a0,\$a0,\$at +[ ]*RELOC: 0+00a4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+00a8 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00a8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+00ac <[^>]*> addiu \$at,\$at,0 +0+00b0 <[^>]*> lb \$a0,0\(\$at\) +0+00b4 <[^>]*> lbu \$at,1\(\$at\) +0+00b8 <[^>]*> sll \$a0,\$a0,0x8 +0+00bc <[^>]*> or \$a0,\$a0,\$at +0+00c0 <[^>]*> addiu \$at,\$gp,0 +[ ]*RELOC: 0+00c0 [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label +0+00c4 <[^>]*> lb \$a0,0\(\$at\) +0+00c8 <[^>]*> lbu \$at,1\(\$at\) +0+00cc <[^>]*> sll \$a0,\$a0,0x8 +0+00d0 <[^>]*> or \$a0,\$a0,\$at +[ ]*RELOC: 0+00d0 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+00d4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00d4 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+00d8 <[^>]*> addiu \$at,\$at,0 +0+00dc <[^>]*> lb \$a0,0\(\$at\) +0+00e0 <[^>]*> lbu \$at,1\(\$at\) +0+00e4 <[^>]*> sll \$a0,\$a0,0x8 +0+00e8 <[^>]*> or \$a0,\$a0,\$at +0+00ec <[^>]*> addiu \$at,\$gp,0 +[ ]*RELOC: 0+00ec [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common +0+00f0 <[^>]*> lb \$a0,0\(\$at\) +0+00f4 <[^>]*> lbu \$at,1\(\$at\) +0+00f8 <[^>]*> sll \$a0,\$a0,0x8 +0+00fc <[^>]*> or \$a0,\$a0,\$at +[ ]*RELOC: 0+00fc [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0100 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0100 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0104 <[^>]*> addiu \$at,\$at,0 +0+0108 <[^>]*> lb \$a0,0\(\$at\) +0+010c <[^>]*> lbu \$at,1\(\$at\) +0+0110 <[^>]*> sll \$a0,\$a0,0x8 +0+0114 <[^>]*> or \$a0,\$a0,\$at +0+0118 <[^>]*> addiu \$at,\$gp,[-0-9]+ +[ ]*RELOC: 0+0118 [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* +0+011c <[^>]*> lb \$a0,0\(\$at\) +0+0120 <[^>]*> lbu \$at,1\(\$at\) +0+0124 <[^>]*> sll \$a0,\$a0,0x8 +0+0128 <[^>]*> or \$a0,\$a0,\$at +0+012c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+012c [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0130 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0130 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0134 <[^>]*> lb \$a0,0\(\$at\) +0+0138 <[^>]*> lbu \$at,1\(\$at\) +0+013c <[^>]*> sll \$a0,\$a0,0x8 +0+0140 <[^>]*> or \$a0,\$a0,\$at +0+0144 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0144 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0148 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0148 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+014c <[^>]*> lb \$a0,0\(\$at\) +0+0150 <[^>]*> lbu \$at,1\(\$at\) +0+0154 <[^>]*> sll \$a0,\$a0,0x8 +0+0158 <[^>]*> or \$a0,\$a0,\$at +0+015c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+015c [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0160 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0160 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0164 <[^>]*> lb \$a0,0\(\$at\) +0+0168 <[^>]*> lbu \$at,1\(\$at\) +0+016c <[^>]*> sll \$a0,\$a0,0x8 +0+0170 <[^>]*> or \$a0,\$a0,\$at +0+0174 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0174 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0178 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0178 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+017c <[^>]*> lb \$a0,0\(\$at\) +0+0180 <[^>]*> lbu \$at,1\(\$at\) +0+0184 <[^>]*> sll \$a0,\$a0,0x8 +0+0188 <[^>]*> or \$a0,\$a0,\$at +0+018c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+018c [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0190 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0190 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0194 <[^>]*> lb \$a0,0\(\$at\) +0+0198 <[^>]*> lbu \$at,1\(\$at\) +0+019c <[^>]*> sll \$a0,\$a0,0x8 +0+01a0 <[^>]*> or \$a0,\$a0,\$at +0+01a4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01a4 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+01a8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01a8 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+01ac <[^>]*> lb \$a0,0\(\$at\) +0+01b0 <[^>]*> lbu \$at,1\(\$at\) +0+01b4 <[^>]*> sll \$a0,\$a0,0x8 +0+01b8 <[^>]*> or \$a0,\$a0,\$at +0+01bc <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01bc [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+01c0 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01c0 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+01c4 <[^>]*> lb \$a0,0\(\$at\) +0+01c8 <[^>]*> lbu \$at,1\(\$at\) +0+01cc <[^>]*> sll \$a0,\$a0,0x8 +0+01d0 <[^>]*> or \$a0,\$a0,\$at +0+01d4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+01d4 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+01d8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01d8 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+01dc <[^>]*> lb \$a0,0\(\$at\) +0+01e0 <[^>]*> lbu \$at,1\(\$at\) +0+01e4 <[^>]*> sll \$a0,\$a0,0x8 +0+01e8 <[^>]*> or \$a0,\$a0,\$at +0+01ec <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+01ec [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+01f0 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01f0 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+01f4 <[^>]*> lb \$a0,0\(\$at\) +0+01f8 <[^>]*> lbu \$at,1\(\$at\) +0+01fc <[^>]*> sll \$a0,\$a0,0x8 +0+0200 <[^>]*> or \$a0,\$a0,\$at +0+0204 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0204 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0208 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0208 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+020c <[^>]*> lb \$a0,0\(\$at\) +0+0210 <[^>]*> lbu \$at,1\(\$at\) +0+0214 <[^>]*> sll \$a0,\$a0,0x8 +0+0218 <[^>]*> or \$a0,\$a0,\$at +0+021c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+021c [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0220 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0220 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0224 <[^>]*> lb \$a0,0\(\$at\) +0+0228 <[^>]*> lbu \$at,1\(\$at\) +0+022c <[^>]*> sll \$a0,\$a0,0x8 +0+0230 <[^>]*> or \$a0,\$a0,\$at +0+0234 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0234 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0238 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0238 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+023c <[^>]*> lb \$a0,0\(\$at\) +0+0240 <[^>]*> lbu \$at,1\(\$at\) +0+0244 <[^>]*> sll \$a0,\$a0,0x8 +0+0248 <[^>]*> or \$a0,\$a0,\$at +0+024c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+024c [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0250 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0250 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0254 <[^>]*> lb \$a0,0\(\$at\) +0+0258 <[^>]*> lbu \$at,1\(\$at\) +0+025c <[^>]*> sll \$a0,\$a0,0x8 +0+0260 <[^>]*> or \$a0,\$a0,\$at +0+0264 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0264 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0268 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0268 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+026c <[^>]*> lb \$a0,0\(\$at\) +0+0270 <[^>]*> lbu \$at,1\(\$at\) +0+0274 <[^>]*> sll \$a0,\$a0,0x8 +0+0278 <[^>]*> or \$a0,\$a0,\$at +0+027c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+027c [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0280 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0280 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0284 <[^>]*> lb \$a0,0\(\$at\) +0+0288 <[^>]*> lbu \$at,1\(\$at\) +0+028c <[^>]*> sll \$a0,\$a0,0x8 +0+0290 <[^>]*> or \$a0,\$a0,\$at +0+0294 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0294 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0298 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0298 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+029c <[^>]*> lb \$a0,0\(\$at\) +0+02a0 <[^>]*> lbu \$at,1\(\$at\) +0+02a4 <[^>]*> sll \$a0,\$a0,0x8 +0+02a8 <[^>]*> or \$a0,\$a0,\$at +0+02ac <[^>]*> lui \$at,0 +[ ]*RELOC: 0+02ac [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+02b0 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02b0 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+02b4 <[^>]*> lb \$a0,0\(\$at\) +0+02b8 <[^>]*> lbu \$at,1\(\$at\) +0+02bc <[^>]*> sll \$a0,\$a0,0x8 +0+02c0 <[^>]*> or \$a0,\$a0,\$at +0+02c4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+02c4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+02c8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02c8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+02cc <[^>]*> lb \$a0,0\(\$at\) +0+02d0 <[^>]*> lbu \$at,1\(\$at\) +0+02d4 <[^>]*> sll \$a0,\$a0,0x8 +0+02d8 <[^>]*> or \$a0,\$a0,\$at +0+02dc <[^>]*> lui \$at,0 +[ ]*RELOC: 0+02dc [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+02e0 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02e0 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+02e4 <[^>]*> lb \$a0,0\(\$at\) +0+02e8 <[^>]*> lbu \$at,1\(\$at\) +0+02ec <[^>]*> sll \$a0,\$a0,0x8 +0+02f0 <[^>]*> or \$a0,\$a0,\$at +0+02f4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+02f4 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+02f8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02f8 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+02fc <[^>]*> lb \$a0,0\(\$at\) +0+0300 <[^>]*> lbu \$at,1\(\$at\) +0+0304 <[^>]*> sll \$a0,\$a0,0x8 +0+0308 <[^>]*> or \$a0,\$a0,\$at +0+030c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+030c [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0310 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0310 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0314 <[^>]*> lb \$a0,0\(\$at\) +0+0318 <[^>]*> lbu \$at,1\(\$at\) +0+031c <[^>]*> sll \$a0,\$a0,0x8 +0+0320 <[^>]*> or \$a0,\$a0,\$at +0+0324 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0324 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0328 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0328 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+032c <[^>]*> lb \$a0,0\(\$at\) +0+0330 <[^>]*> lbu \$at,1\(\$at\) +0+0334 <[^>]*> sll \$a0,\$a0,0x8 +0+0338 <[^>]*> or \$a0,\$a0,\$at +0+033c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+033c [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0340 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0340 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0344 <[^>]*> lb \$a0,0\(\$at\) +0+0348 <[^>]*> lbu \$at,1\(\$at\) +0+034c <[^>]*> sll \$a0,\$a0,0x8 +0+0350 <[^>]*> or \$a0,\$a0,\$at +0+0354 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0354 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0358 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0358 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+035c <[^>]*> lb \$a0,0\(\$at\) +0+0360 <[^>]*> lbu \$at,1\(\$at\) +0+0364 <[^>]*> sll \$a0,\$a0,0x8 +0+0368 <[^>]*> or \$a0,\$a0,\$at +0+036c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+036c [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0370 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0370 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0374 <[^>]*> lb \$a0,0\(\$at\) +0+0378 <[^>]*> lbu \$at,1\(\$at\) +0+037c <[^>]*> sll \$a0,\$a0,0x8 +0+0380 <[^>]*> or \$a0,\$a0,\$at +0+0384 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0384 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0388 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0388 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+038c <[^>]*> lb \$a0,0\(\$at\) +0+0390 <[^>]*> lbu \$at,1\(\$at\) +0+0394 <[^>]*> sll \$a0,\$a0,0x8 +0+0398 <[^>]*> or \$a0,\$a0,\$at +0+039c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+039c [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+03a0 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+03a0 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+03a4 <[^>]*> lb \$a0,0\(\$at\) +0+03a8 <[^>]*> lbu \$at,1\(\$at\) +0+03ac <[^>]*> sll \$a0,\$a0,0x8 +0+03b0 <[^>]*> or \$a0,\$a0,\$at +0+03b4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+03b4 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+03b8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+03b8 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+03bc <[^>]*> lb \$a0,0\(\$at\) +0+03c0 <[^>]*> lbu \$at,1\(\$at\) +0+03c4 <[^>]*> sll \$a0,\$a0,0x8 +0+03c8 <[^>]*> or \$a0,\$a0,\$at +0+03cc <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+03cc [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+03d0 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+03d0 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+03d4 <[^>]*> lb \$a0,0\(\$at\) +0+03d8 <[^>]*> lbu \$at,1\(\$at\) +0+03dc <[^>]*> sll \$a0,\$a0,0x8 +0+03e0 <[^>]*> or \$a0,\$a0,\$at +0+03e4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+03e4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+03e8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+03e8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+03ec <[^>]*> lb \$a0,0\(\$at\) +0+03f0 <[^>]*> lbu \$at,1\(\$at\) +0+03f4 <[^>]*> sll \$a0,\$a0,0x8 +0+03f8 <[^>]*> or \$a0,\$a0,\$at +0+03fc <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+03fc [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0400 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0400 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0404 <[^>]*> lb \$a0,0\(\$at\) +0+0408 <[^>]*> lbu \$at,1\(\$at\) +0+040c <[^>]*> sll \$a0,\$a0,0x8 +0+0410 <[^>]*> or \$a0,\$a0,\$at +0+0414 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0414 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0418 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0418 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+041c <[^>]*> lb \$a0,0\(\$at\) +0+0420 <[^>]*> lbu \$at,1\(\$at\) +0+0424 <[^>]*> sll \$a0,\$a0,0x8 +0+0428 <[^>]*> or \$a0,\$a0,\$at +0+042c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+042c [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0430 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0430 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0434 <[^>]*> lb \$a0,0\(\$at\) +0+0438 <[^>]*> lbu \$at,1\(\$at\) +0+043c <[^>]*> sll \$a0,\$a0,0x8 +0+0440 <[^>]*> or \$a0,\$a0,\$at +0+0444 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0444 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0448 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0448 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+044c <[^>]*> lb \$a0,0\(\$at\) +0+0450 <[^>]*> lbu \$at,1\(\$at\) +0+0454 <[^>]*> sll \$a0,\$a0,0x8 +0+0458 <[^>]*> or \$a0,\$a0,\$at +0+045c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+045c [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0460 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0460 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0464 <[^>]*> lb \$a0,0\(\$at\) +0+0468 <[^>]*> lbu \$at,1\(\$at\) +0+046c <[^>]*> sll \$a0,\$a0,0x8 +0+0470 <[^>]*> or \$a0,\$a0,\$at +0+0474 <[^>]*> lbu \$a0,0\(\$zero\) +0+0478 <[^>]*> lbu \$at,1\(\$zero\) +0+047c <[^>]*> sll \$a0,\$a0,0x8 +0+0480 <[^>]*> or \$a0,\$a0,\$at +... diff --git a/gas/testsuite/gas/mips/ulh.s b/gas/testsuite/gas/mips/ulh.s new file mode 100644 index 00000000000..92dfb1af2cf --- /dev/null +++ b/gas/testsuite/gas/mips/ulh.s @@ -0,0 +1,65 @@ +# Source file used to test the ulh macro. + + .data +data_label: + .extern big_external_data_label,1000 + .extern small_external_data_label,1 + .comm big_external_common,1000 + .comm small_external_common,1 + .lcomm big_local_common,1000 + .lcomm small_local_common,1 + + .text + ulh $4,0 + ulh $4,1 + ulh $4,0x8000 + ulh $4,-0x8000 + ulh $4,0x10000 + ulh $4,0x1a5a5 + ulh $4,0($5) + ulh $4,1($5) + ulh $4,data_label + ulh $4,big_external_data_label + ulh $4,small_external_data_label + ulh $4,big_external_common + ulh $4,small_external_common + ulh $4,big_local_common + ulh $4,small_local_common + ulh $4,data_label+1 + ulh $4,big_external_data_label+1 + ulh $4,small_external_data_label+1 + ulh $4,big_external_common+1 + ulh $4,small_external_common+1 + ulh $4,big_local_common+1 + ulh $4,small_local_common+1 + ulh $4,data_label+0x8000 + ulh $4,big_external_data_label+0x8000 + ulh $4,small_external_data_label+0x8000 + ulh $4,big_external_common+0x8000 + ulh $4,small_external_common+0x8000 + ulh $4,big_local_common+0x8000 + ulh $4,small_local_common+0x8000 + ulh $4,data_label-0x8000 + ulh $4,big_external_data_label-0x8000 + ulh $4,small_external_data_label-0x8000 + ulh $4,big_external_common-0x8000 + ulh $4,small_external_common-0x8000 + ulh $4,big_local_common-0x8000 + ulh $4,small_local_common-0x8000 + ulh $4,data_label+0x10000 + ulh $4,big_external_data_label+0x10000 + ulh $4,small_external_data_label+0x10000 + ulh $4,big_external_common+0x10000 + ulh $4,small_external_common+0x10000 + ulh $4,big_local_common+0x10000 + ulh $4,small_local_common+0x10000 + ulh $4,data_label+0x1a5a5 + ulh $4,big_external_data_label+0x1a5a5 + ulh $4,small_external_data_label+0x1a5a5 + ulh $4,big_external_common+0x1a5a5 + ulh $4,small_external_common+0x1a5a5 + ulh $4,big_local_common+0x1a5a5 + ulh $4,small_local_common+0x1a5a5 + +# ulhu is handled like ulh. Sanity check it. + ulhu $4,0 diff --git a/gas/testsuite/gas/mips/ulw.d b/gas/testsuite/gas/mips/ulw.d new file mode 100644 index 00000000000..e85831cf75a --- /dev/null +++ b/gas/testsuite/gas/mips/ulw.d @@ -0,0 +1,276 @@ +#objdump: -dr +#name: ulw +#as: -mips1 + +# Test the ulw macro. + +.*: +file format .*mips.* + +Disassembly of section .text: +0+0000 <[^>]*> lwl \$a0,0\(\$zero\) +0+0004 <[^>]*> lwr \$a0,3\(\$zero\) +0+0008 <[^>]*> lwl \$a0,1\(\$zero\) +0+000c <[^>]*> lwr \$a0,4\(\$zero\) +0+0010 <[^>]*> li \$at,32768 +0+0014 <[^>]*> lwl \$a0,0\(\$at\) +0+0018 <[^>]*> lwr \$a0,3\(\$at\) +0+001c <[^>]*> lwl \$a0,-32768\(\$zero\) +0+0020 <[^>]*> lwr \$a0,-32765\(\$zero\) +0+0024 <[^>]*> lui \$at,1 +0+0028 <[^>]*> lwl \$a0,0\(\$at\) +0+002c <[^>]*> lwr \$a0,3\(\$at\) +0+0030 <[^>]*> lui \$at,1 +0+0034 <[^>]*> ori \$at,\$at,42405 +0+0038 <[^>]*> lwl \$a0,0\(\$at\) +0+003c <[^>]*> lwr \$a0,3\(\$at\) +0+0040 <[^>]*> lwl \$a0,0\(\$a1\) +0+0044 <[^>]*> lwr \$a0,3\(\$a1\) +0+0048 <[^>]*> lwl \$a0,1\(\$a1\) +0+004c <[^>]*> lwr \$a0,[-0-9]+\(\$a1\) +[ ]*RELOC: 0+004c [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0050 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0050 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0054 <[^>]*> addiu \$at,\$at,0 +0+0058 <[^>]*> lwl \$a0,0\(\$at\) +0+005c <[^>]*> lwr \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+005c [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0060 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0060 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0064 <[^>]*> addiu \$at,\$at,0 +0+0068 <[^>]*> lwl \$a0,0\(\$at\) +0+006c <[^>]*> lwr \$a0,3\(\$at\) +0+0070 <[^>]*> addiu \$at,\$gp,0 +[ ]*RELOC: 0+0070 [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label +0+0074 <[^>]*> lwl \$a0,0\(\$at\) +0+0078 <[^>]*> lwr \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0078 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+007c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+007c [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0080 <[^>]*> addiu \$at,\$at,0 +0+0084 <[^>]*> lwl \$a0,0\(\$at\) +0+0088 <[^>]*> lwr \$a0,3\(\$at\) +0+008c <[^>]*> addiu \$at,\$gp,0 +[ ]*RELOC: 0+008c [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common +0+0090 <[^>]*> lwl \$a0,0\(\$at\) +0+0094 <[^>]*> lwr \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0094 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0098 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0098 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+009c <[^>]*> addiu \$at,\$at,0 +0+00a0 <[^>]*> lwl \$a0,0\(\$at\) +0+00a4 <[^>]*> lwr \$a0,3\(\$at\) +0+00a8 <[^>]*> addiu \$at,\$gp,[-0-9]+ +[ ]*RELOC: 0+00a8 [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* +0+00ac <[^>]*> lwl \$a0,0\(\$at\) +0+00b0 <[^>]*> lwr \$a0,3\(\$at\) +0+00b4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00b4 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+00b8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+00b8 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+00bc <[^>]*> lwl \$a0,0\(\$at\) +0+00c0 <[^>]*> lwr \$a0,3\(\$at\) +0+00c4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00c4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+00c8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+00c8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+00cc <[^>]*> lwl \$a0,0\(\$at\) +0+00d0 <[^>]*> lwr \$a0,3\(\$at\) +0+00d4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00d4 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+00d8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+00d8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+00dc <[^>]*> lwl \$a0,0\(\$at\) +0+00e0 <[^>]*> lwr \$a0,3\(\$at\) +0+00e4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00e4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+00e8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+00e8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+00ec <[^>]*> lwl \$a0,0\(\$at\) +0+00f0 <[^>]*> lwr \$a0,3\(\$at\) +0+00f4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00f4 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+00f8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+00f8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+00fc <[^>]*> lwl \$a0,0\(\$at\) +0+0100 <[^>]*> lwr \$a0,3\(\$at\) +0+0104 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0104 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0108 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0108 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+010c <[^>]*> lwl \$a0,0\(\$at\) +0+0110 <[^>]*> lwr \$a0,3\(\$at\) +0+0114 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0114 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0118 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0118 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+011c <[^>]*> lwl \$a0,0\(\$at\) +0+0120 <[^>]*> lwr \$a0,3\(\$at\) +0+0124 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0124 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0128 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0128 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+012c <[^>]*> lwl \$a0,0\(\$at\) +0+0130 <[^>]*> lwr \$a0,3\(\$at\) +0+0134 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0134 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0138 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0138 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+013c <[^>]*> lwl \$a0,0\(\$at\) +0+0140 <[^>]*> lwr \$a0,3\(\$at\) +0+0144 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0144 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0148 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0148 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+014c <[^>]*> lwl \$a0,0\(\$at\) +0+0150 <[^>]*> lwr \$a0,3\(\$at\) +0+0154 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0154 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0158 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0158 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+015c <[^>]*> lwl \$a0,0\(\$at\) +0+0160 <[^>]*> lwr \$a0,3\(\$at\) +0+0164 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0164 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0168 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0168 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+016c <[^>]*> lwl \$a0,0\(\$at\) +0+0170 <[^>]*> lwr \$a0,3\(\$at\) +0+0174 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0174 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0178 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0178 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+017c <[^>]*> lwl \$a0,0\(\$at\) +0+0180 <[^>]*> lwr \$a0,3\(\$at\) +0+0184 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0184 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0188 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0188 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+018c <[^>]*> lwl \$a0,0\(\$at\) +0+0190 <[^>]*> lwr \$a0,3\(\$at\) +0+0194 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0194 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0198 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0198 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+019c <[^>]*> lwl \$a0,0\(\$at\) +0+01a0 <[^>]*> lwr \$a0,3\(\$at\) +0+01a4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01a4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+01a8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01a8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+01ac <[^>]*> lwl \$a0,0\(\$at\) +0+01b0 <[^>]*> lwr \$a0,3\(\$at\) +0+01b4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01b4 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+01b8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01b8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+01bc <[^>]*> lwl \$a0,0\(\$at\) +0+01c0 <[^>]*> lwr \$a0,3\(\$at\) +0+01c4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01c4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+01c8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01c8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+01cc <[^>]*> lwl \$a0,0\(\$at\) +0+01d0 <[^>]*> lwr \$a0,3\(\$at\) +0+01d4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01d4 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+01d8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01d8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+01dc <[^>]*> lwl \$a0,0\(\$at\) +0+01e0 <[^>]*> lwr \$a0,3\(\$at\) +0+01e4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01e4 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+01e8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01e8 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+01ec <[^>]*> lwl \$a0,0\(\$at\) +0+01f0 <[^>]*> lwr \$a0,3\(\$at\) +0+01f4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01f4 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+01f8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01f8 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+01fc <[^>]*> lwl \$a0,0\(\$at\) +0+0200 <[^>]*> lwr \$a0,3\(\$at\) +0+0204 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0204 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0208 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0208 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+020c <[^>]*> lwl \$a0,0\(\$at\) +0+0210 <[^>]*> lwr \$a0,3\(\$at\) +0+0214 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0214 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0218 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0218 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+021c <[^>]*> lwl \$a0,0\(\$at\) +0+0220 <[^>]*> lwr \$a0,3\(\$at\) +0+0224 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0224 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0228 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0228 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+022c <[^>]*> lwl \$a0,0\(\$at\) +0+0230 <[^>]*> lwr \$a0,3\(\$at\) +0+0234 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0234 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0238 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0238 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+023c <[^>]*> lwl \$a0,0\(\$at\) +0+0240 <[^>]*> lwr \$a0,3\(\$at\) +0+0244 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0244 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0248 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0248 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+024c <[^>]*> lwl \$a0,0\(\$at\) +0+0250 <[^>]*> lwr \$a0,3\(\$at\) +0+0254 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0254 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0258 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0258 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+025c <[^>]*> lwl \$a0,0\(\$at\) +0+0260 <[^>]*> lwr \$a0,3\(\$at\) +0+0264 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0264 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0268 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0268 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+026c <[^>]*> lwl \$a0,0\(\$at\) +0+0270 <[^>]*> lwr \$a0,3\(\$at\) +0+0274 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0274 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0278 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0278 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+027c <[^>]*> lwl \$a0,0\(\$at\) +0+0280 <[^>]*> lwr \$a0,3\(\$at\) +0+0284 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0284 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0288 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0288 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+028c <[^>]*> lwl \$a0,0\(\$at\) +0+0290 <[^>]*> lwr \$a0,3\(\$at\) +0+0294 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0294 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0298 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0298 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+029c <[^>]*> lwl \$a0,0\(\$at\) +0+02a0 <[^>]*> lwr \$a0,3\(\$at\) +0+02a4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+02a4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+02a8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02a8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+02ac <[^>]*> lwl \$a0,0\(\$at\) +0+02b0 <[^>]*> lwr \$a0,3\(\$at\) +0+02b4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+02b4 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+02b8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02b8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+02bc <[^>]*> lwl \$a0,0\(\$at\) +0+02c0 <[^>]*> lwr \$a0,3\(\$at\) +0+02c4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+02c4 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+02c8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02c8 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+02cc <[^>]*> lwl \$a0,0\(\$at\) +0+02d0 <[^>]*> lwr \$a0,3\(\$at\) +0+02d4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+02d4 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+02d8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02d8 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+02dc <[^>]*> lwl \$a0,0\(\$at\) +0+02e0 <[^>]*> lwr \$a0,3\(\$at\) +... diff --git a/gas/testsuite/gas/mips/ulw.s b/gas/testsuite/gas/mips/ulw.s new file mode 100644 index 00000000000..e422549b8e2 --- /dev/null +++ b/gas/testsuite/gas/mips/ulw.s @@ -0,0 +1,62 @@ +# Source file used to test the ulw macro. + + .data +data_label: + .extern big_external_data_label,1000 + .extern small_external_data_label,1 + .comm big_external_common,1000 + .comm small_external_common,1 + .lcomm big_local_common,1000 + .lcomm small_local_common,1 + + .text + ulw $4,0 + ulw $4,1 + ulw $4,0x8000 + ulw $4,-0x8000 + ulw $4,0x10000 + ulw $4,0x1a5a5 + ulw $4,0($5) + ulw $4,1($5) + ulw $4,data_label + ulw $4,big_external_data_label + ulw $4,small_external_data_label + ulw $4,big_external_common + ulw $4,small_external_common + ulw $4,big_local_common + ulw $4,small_local_common + ulw $4,data_label+1 + ulw $4,big_external_data_label+1 + ulw $4,small_external_data_label+1 + ulw $4,big_external_common+1 + ulw $4,small_external_common+1 + ulw $4,big_local_common+1 + ulw $4,small_local_common+1 + ulw $4,data_label+0x8000 + ulw $4,big_external_data_label+0x8000 + ulw $4,small_external_data_label+0x8000 + ulw $4,big_external_common+0x8000 + ulw $4,small_external_common+0x8000 + ulw $4,big_local_common+0x8000 + ulw $4,small_local_common+0x8000 + ulw $4,data_label-0x8000 + ulw $4,big_external_data_label-0x8000 + ulw $4,small_external_data_label-0x8000 + ulw $4,big_external_common-0x8000 + ulw $4,small_external_common-0x8000 + ulw $4,big_local_common-0x8000 + ulw $4,small_local_common-0x8000 + ulw $4,data_label+0x10000 + ulw $4,big_external_data_label+0x10000 + ulw $4,small_external_data_label+0x10000 + ulw $4,big_external_common+0x10000 + ulw $4,small_external_common+0x10000 + ulw $4,big_local_common+0x10000 + ulw $4,small_local_common+0x10000 + ulw $4,data_label+0x1a5a5 + ulw $4,big_external_data_label+0x1a5a5 + ulw $4,small_external_data_label+0x1a5a5 + ulw $4,big_external_common+0x1a5a5 + ulw $4,small_external_common+0x1a5a5 + ulw $4,big_local_common+0x1a5a5 + ulw $4,small_local_common+0x1a5a5 diff --git a/gas/testsuite/gas/mips/ush.d b/gas/testsuite/gas/mips/ush.d new file mode 100644 index 00000000000..099dc5446c1 --- /dev/null +++ b/gas/testsuite/gas/mips/ush.d @@ -0,0 +1,461 @@ +#objdump: -dr +#name: ush +#as: -mips1 + +# Test the ush macro. + +.*: +file format .*mips.* + +Disassembly of section .text: +0+0000 <[^>]*> sb \$a0,1\(\$zero\) +0+0004 <[^>]*> srl \$at,\$a0,0x8 +0+0008 <[^>]*> sb \$at,0\(\$zero\) +0+000c <[^>]*> sb \$a0,2\(\$zero\) +0+0010 <[^>]*> srl \$at,\$a0,0x8 +0+0014 <[^>]*> sb \$at,1\(\$zero\) +0+0018 <[^>]*> li \$at,32768 +0+001c <[^>]*> sb \$a0,1\(\$at\) +0+0020 <[^>]*> srl \$a0,\$a0,0x8 +0+0024 <[^>]*> sb \$a0,0\(\$at\) +0+0028 <[^>]*> lbu \$at,1\(\$at\) +0+002c <[^>]*> sll \$a0,\$a0,0x8 +0+0030 <[^>]*> or \$a0,\$a0,\$at +0+0034 <[^>]*> sb \$a0,-32767\(\$zero\) +0+0038 <[^>]*> srl \$at,\$a0,0x8 +0+003c <[^>]*> sb \$at,-32768\(\$zero\) +0+0040 <[^>]*> lui \$at,1 +0+0044 <[^>]*> sb \$a0,1\(\$at\) +0+0048 <[^>]*> srl \$a0,\$a0,0x8 +0+004c <[^>]*> sb \$a0,0\(\$at\) +0+0050 <[^>]*> lbu \$at,1\(\$at\) +0+0054 <[^>]*> sll \$a0,\$a0,0x8 +0+0058 <[^>]*> or \$a0,\$a0,\$at +0+005c <[^>]*> lui \$at,1 +0+0060 <[^>]*> ori \$at,\$at,42405 +0+0064 <[^>]*> sb \$a0,1\(\$at\) +0+0068 <[^>]*> srl \$a0,\$a0,0x8 +0+006c <[^>]*> sb \$a0,0\(\$at\) +0+0070 <[^>]*> lbu \$at,1\(\$at\) +0+0074 <[^>]*> sll \$a0,\$a0,0x8 +0+0078 <[^>]*> or \$a0,\$a0,\$at +0+007c <[^>]*> sb \$a0,1\(\$a1\) +0+0080 <[^>]*> srl \$at,\$a0,0x8 +0+0084 <[^>]*> sb \$at,0\(\$a1\) +0+0088 <[^>]*> sb \$a0,2\(\$a1\) +0+008c <[^>]*> srl \$at,\$a0,0x8 +0+0090 <[^>]*> sb \$at,[-0-9]+\(\$a1\) +[ ]*RELOC: 0+0090 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0094 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0094 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0098 <[^>]*> addiu \$at,\$at,0 +0+009c <[^>]*> sb \$a0,1\(\$at\) +0+00a0 <[^>]*> srl \$a0,\$a0,0x8 +0+00a4 <[^>]*> sb \$a0,0\(\$at\) +0+00a8 <[^>]*> lbu \$at,1\(\$at\) +0+00ac <[^>]*> sll \$a0,\$a0,0x8 +0+00b0 <[^>]*> or \$a0,\$a0,\$at +[ ]*RELOC: 0+00b0 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+00b4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00b4 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+00b8 <[^>]*> addiu \$at,\$at,0 +0+00bc <[^>]*> sb \$a0,1\(\$at\) +0+00c0 <[^>]*> srl \$a0,\$a0,0x8 +0+00c4 <[^>]*> sb \$a0,0\(\$at\) +0+00c8 <[^>]*> lbu \$at,1\(\$at\) +0+00cc <[^>]*> sll \$a0,\$a0,0x8 +0+00d0 <[^>]*> or \$a0,\$a0,\$at +0+00d4 <[^>]*> addiu \$at,\$gp,0 +[ ]*RELOC: 0+00d4 [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label +0+00d8 <[^>]*> sb \$a0,1\(\$at\) +0+00dc <[^>]*> srl \$a0,\$a0,0x8 +0+00e0 <[^>]*> sb \$a0,0\(\$at\) +0+00e4 <[^>]*> lbu \$at,1\(\$at\) +0+00e8 <[^>]*> sll \$a0,\$a0,0x8 +0+00ec <[^>]*> or \$a0,\$a0,\$at +[ ]*RELOC: 0+00ec [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+00f0 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00f0 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+00f4 <[^>]*> addiu \$at,\$at,0 +0+00f8 <[^>]*> sb \$a0,1\(\$at\) +0+00fc <[^>]*> srl \$a0,\$a0,0x8 +0+0100 <[^>]*> sb \$a0,0\(\$at\) +0+0104 <[^>]*> lbu \$at,1\(\$at\) +0+0108 <[^>]*> sll \$a0,\$a0,0x8 +0+010c <[^>]*> or \$a0,\$a0,\$at +0+0110 <[^>]*> addiu \$at,\$gp,0 +[ ]*RELOC: 0+0110 [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common +0+0114 <[^>]*> sb \$a0,1\(\$at\) +0+0118 <[^>]*> srl \$a0,\$a0,0x8 +0+011c <[^>]*> sb \$a0,0\(\$at\) +0+0120 <[^>]*> lbu \$at,1\(\$at\) +0+0124 <[^>]*> sll \$a0,\$a0,0x8 +0+0128 <[^>]*> or \$a0,\$a0,\$at +[ ]*RELOC: 0+0128 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+012c <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+012c [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0130 <[^>]*> addiu \$at,\$at,0 +0+0134 <[^>]*> sb \$a0,1\(\$at\) +0+0138 <[^>]*> srl \$a0,\$a0,0x8 +0+013c <[^>]*> sb \$a0,0\(\$at\) +0+0140 <[^>]*> lbu \$at,1\(\$at\) +0+0144 <[^>]*> sll \$a0,\$a0,0x8 +0+0148 <[^>]*> or \$a0,\$a0,\$at +0+014c <[^>]*> addiu \$at,\$gp,[-0-9]+ +[ ]*RELOC: 0+014c [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* +0+0150 <[^>]*> sb \$a0,1\(\$at\) +0+0154 <[^>]*> srl \$a0,\$a0,0x8 +0+0158 <[^>]*> sb \$a0,0\(\$at\) +0+015c <[^>]*> lbu \$at,1\(\$at\) +0+0160 <[^>]*> sll \$a0,\$a0,0x8 +0+0164 <[^>]*> or \$a0,\$a0,\$at +0+0168 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0168 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+016c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+016c [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0170 <[^>]*> sb \$a0,1\(\$at\) +0+0174 <[^>]*> srl \$a0,\$a0,0x8 +0+0178 <[^>]*> sb \$a0,0\(\$at\) +0+017c <[^>]*> lbu \$at,1\(\$at\) +0+0180 <[^>]*> sll \$a0,\$a0,0x8 +0+0184 <[^>]*> or \$a0,\$a0,\$at +0+0188 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0188 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+018c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+018c [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0190 <[^>]*> sb \$a0,1\(\$at\) +0+0194 <[^>]*> srl \$a0,\$a0,0x8 +0+0198 <[^>]*> sb \$a0,0\(\$at\) +0+019c <[^>]*> lbu \$at,1\(\$at\) +0+01a0 <[^>]*> sll \$a0,\$a0,0x8 +0+01a4 <[^>]*> or \$a0,\$a0,\$at +0+01a8 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01a8 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+01ac <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01ac [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+01b0 <[^>]*> sb \$a0,1\(\$at\) +0+01b4 <[^>]*> srl \$a0,\$a0,0x8 +0+01b8 <[^>]*> sb \$a0,0\(\$at\) +0+01bc <[^>]*> lbu \$at,1\(\$at\) +0+01c0 <[^>]*> sll \$a0,\$a0,0x8 +0+01c4 <[^>]*> or \$a0,\$a0,\$at +0+01c8 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01c8 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+01cc <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01cc [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+01d0 <[^>]*> sb \$a0,1\(\$at\) +0+01d4 <[^>]*> srl \$a0,\$a0,0x8 +0+01d8 <[^>]*> sb \$a0,0\(\$at\) +0+01dc <[^>]*> lbu \$at,1\(\$at\) +0+01e0 <[^>]*> sll \$a0,\$a0,0x8 +0+01e4 <[^>]*> or \$a0,\$a0,\$at +0+01e8 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01e8 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+01ec <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01ec [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+01f0 <[^>]*> sb \$a0,1\(\$at\) +0+01f4 <[^>]*> srl \$a0,\$a0,0x8 +0+01f8 <[^>]*> sb \$a0,0\(\$at\) +0+01fc <[^>]*> lbu \$at,1\(\$at\) +0+0200 <[^>]*> sll \$a0,\$a0,0x8 +0+0204 <[^>]*> or \$a0,\$a0,\$at +0+0208 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0208 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+020c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+020c [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0210 <[^>]*> sb \$a0,1\(\$at\) +0+0214 <[^>]*> srl \$a0,\$a0,0x8 +0+0218 <[^>]*> sb \$a0,0\(\$at\) +0+021c <[^>]*> lbu \$at,1\(\$at\) +0+0220 <[^>]*> sll \$a0,\$a0,0x8 +0+0224 <[^>]*> or \$a0,\$a0,\$at +0+0228 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0228 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+022c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+022c [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0230 <[^>]*> sb \$a0,1\(\$at\) +0+0234 <[^>]*> srl \$a0,\$a0,0x8 +0+0238 <[^>]*> sb \$a0,0\(\$at\) +0+023c <[^>]*> lbu \$at,1\(\$at\) +0+0240 <[^>]*> sll \$a0,\$a0,0x8 +0+0244 <[^>]*> or \$a0,\$a0,\$at +0+0248 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0248 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+024c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+024c [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0250 <[^>]*> sb \$a0,1\(\$at\) +0+0254 <[^>]*> srl \$a0,\$a0,0x8 +0+0258 <[^>]*> sb \$a0,0\(\$at\) +0+025c <[^>]*> lbu \$at,1\(\$at\) +0+0260 <[^>]*> sll \$a0,\$a0,0x8 +0+0264 <[^>]*> or \$a0,\$a0,\$at +0+0268 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0268 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+026c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+026c [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0270 <[^>]*> sb \$a0,1\(\$at\) +0+0274 <[^>]*> srl \$a0,\$a0,0x8 +0+0278 <[^>]*> sb \$a0,0\(\$at\) +0+027c <[^>]*> lbu \$at,1\(\$at\) +0+0280 <[^>]*> sll \$a0,\$a0,0x8 +0+0284 <[^>]*> or \$a0,\$a0,\$at +0+0288 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0288 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+028c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+028c [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0290 <[^>]*> sb \$a0,1\(\$at\) +0+0294 <[^>]*> srl \$a0,\$a0,0x8 +0+0298 <[^>]*> sb \$a0,0\(\$at\) +0+029c <[^>]*> lbu \$at,1\(\$at\) +0+02a0 <[^>]*> sll \$a0,\$a0,0x8 +0+02a4 <[^>]*> or \$a0,\$a0,\$at +0+02a8 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+02a8 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+02ac <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02ac [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+02b0 <[^>]*> sb \$a0,1\(\$at\) +0+02b4 <[^>]*> srl \$a0,\$a0,0x8 +0+02b8 <[^>]*> sb \$a0,0\(\$at\) +0+02bc <[^>]*> lbu \$at,1\(\$at\) +0+02c0 <[^>]*> sll \$a0,\$a0,0x8 +0+02c4 <[^>]*> or \$a0,\$a0,\$at +0+02c8 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+02c8 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+02cc <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02cc [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+02d0 <[^>]*> sb \$a0,1\(\$at\) +0+02d4 <[^>]*> srl \$a0,\$a0,0x8 +0+02d8 <[^>]*> sb \$a0,0\(\$at\) +0+02dc <[^>]*> lbu \$at,1\(\$at\) +0+02e0 <[^>]*> sll \$a0,\$a0,0x8 +0+02e4 <[^>]*> or \$a0,\$a0,\$at +0+02e8 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+02e8 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+02ec <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02ec [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+02f0 <[^>]*> sb \$a0,1\(\$at\) +0+02f4 <[^>]*> srl \$a0,\$a0,0x8 +0+02f8 <[^>]*> sb \$a0,0\(\$at\) +0+02fc <[^>]*> lbu \$at,1\(\$at\) +0+0300 <[^>]*> sll \$a0,\$a0,0x8 +0+0304 <[^>]*> or \$a0,\$a0,\$at +0+0308 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0308 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+030c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+030c [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+0310 <[^>]*> sb \$a0,1\(\$at\) +0+0314 <[^>]*> srl \$a0,\$a0,0x8 +0+0318 <[^>]*> sb \$a0,0\(\$at\) +0+031c <[^>]*> lbu \$at,1\(\$at\) +0+0320 <[^>]*> sll \$a0,\$a0,0x8 +0+0324 <[^>]*> or \$a0,\$a0,\$at +0+0328 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0328 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+032c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+032c [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0330 <[^>]*> sb \$a0,1\(\$at\) +0+0334 <[^>]*> srl \$a0,\$a0,0x8 +0+0338 <[^>]*> sb \$a0,0\(\$at\) +0+033c <[^>]*> lbu \$at,1\(\$at\) +0+0340 <[^>]*> sll \$a0,\$a0,0x8 +0+0344 <[^>]*> or \$a0,\$a0,\$at +0+0348 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0348 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+034c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+034c [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0350 <[^>]*> sb \$a0,1\(\$at\) +0+0354 <[^>]*> srl \$a0,\$a0,0x8 +0+0358 <[^>]*> sb \$a0,0\(\$at\) +0+035c <[^>]*> lbu \$at,1\(\$at\) +0+0360 <[^>]*> sll \$a0,\$a0,0x8 +0+0364 <[^>]*> or \$a0,\$a0,\$at +0+0368 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0368 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+036c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+036c [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0370 <[^>]*> sb \$a0,1\(\$at\) +0+0374 <[^>]*> srl \$a0,\$a0,0x8 +0+0378 <[^>]*> sb \$a0,0\(\$at\) +0+037c <[^>]*> lbu \$at,1\(\$at\) +0+0380 <[^>]*> sll \$a0,\$a0,0x8 +0+0384 <[^>]*> or \$a0,\$a0,\$at +0+0388 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0388 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+038c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+038c [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0390 <[^>]*> sb \$a0,1\(\$at\) +0+0394 <[^>]*> srl \$a0,\$a0,0x8 +0+0398 <[^>]*> sb \$a0,0\(\$at\) +0+039c <[^>]*> lbu \$at,1\(\$at\) +0+03a0 <[^>]*> sll \$a0,\$a0,0x8 +0+03a4 <[^>]*> or \$a0,\$a0,\$at +0+03a8 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+03a8 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+03ac <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+03ac [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+03b0 <[^>]*> sb \$a0,1\(\$at\) +0+03b4 <[^>]*> srl \$a0,\$a0,0x8 +0+03b8 <[^>]*> sb \$a0,0\(\$at\) +0+03bc <[^>]*> lbu \$at,1\(\$at\) +0+03c0 <[^>]*> sll \$a0,\$a0,0x8 +0+03c4 <[^>]*> or \$a0,\$a0,\$at +0+03c8 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+03c8 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+03cc <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+03cc [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+03d0 <[^>]*> sb \$a0,1\(\$at\) +0+03d4 <[^>]*> srl \$a0,\$a0,0x8 +0+03d8 <[^>]*> sb \$a0,0\(\$at\) +0+03dc <[^>]*> lbu \$at,1\(\$at\) +0+03e0 <[^>]*> sll \$a0,\$a0,0x8 +0+03e4 <[^>]*> or \$a0,\$a0,\$at +0+03e8 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+03e8 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+03ec <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+03ec [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+03f0 <[^>]*> sb \$a0,1\(\$at\) +0+03f4 <[^>]*> srl \$a0,\$a0,0x8 +0+03f8 <[^>]*> sb \$a0,0\(\$at\) +0+03fc <[^>]*> lbu \$at,1\(\$at\) +0+0400 <[^>]*> sll \$a0,\$a0,0x8 +0+0404 <[^>]*> or \$a0,\$a0,\$at +0+0408 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0408 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+040c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+040c [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0410 <[^>]*> sb \$a0,1\(\$at\) +0+0414 <[^>]*> srl \$a0,\$a0,0x8 +0+0418 <[^>]*> sb \$a0,0\(\$at\) +0+041c <[^>]*> lbu \$at,1\(\$at\) +0+0420 <[^>]*> sll \$a0,\$a0,0x8 +0+0424 <[^>]*> or \$a0,\$a0,\$at +0+0428 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0428 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+042c <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+042c [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0430 <[^>]*> sb \$a0,1\(\$at\) +0+0434 <[^>]*> srl \$a0,\$a0,0x8 +0+0438 <[^>]*> sb \$a0,0\(\$at\) +0+043c <[^>]*> lbu \$at,1\(\$at\) +0+0440 <[^>]*> sll \$a0,\$a0,0x8 +0+0444 <[^>]*> or \$a0,\$a0,\$at +0+0448 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0448 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+044c <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+044c [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0450 <[^>]*> sb \$a0,1\(\$at\) +0+0454 <[^>]*> srl \$a0,\$a0,0x8 +0+0458 <[^>]*> sb \$a0,0\(\$at\) +0+045c <[^>]*> lbu \$at,1\(\$at\) +0+0460 <[^>]*> sll \$a0,\$a0,0x8 +0+0464 <[^>]*> or \$a0,\$a0,\$at +0+0468 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0468 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+046c <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+046c [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0470 <[^>]*> sb \$a0,1\(\$at\) +0+0474 <[^>]*> srl \$a0,\$a0,0x8 +0+0478 <[^>]*> sb \$a0,0\(\$at\) +0+047c <[^>]*> lbu \$at,1\(\$at\) +0+0480 <[^>]*> sll \$a0,\$a0,0x8 +0+0484 <[^>]*> or \$a0,\$a0,\$at +0+0488 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0488 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+048c <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+048c [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0490 <[^>]*> sb \$a0,1\(\$at\) +0+0494 <[^>]*> srl \$a0,\$a0,0x8 +0+0498 <[^>]*> sb \$a0,0\(\$at\) +0+049c <[^>]*> lbu \$at,1\(\$at\) +0+04a0 <[^>]*> sll \$a0,\$a0,0x8 +0+04a4 <[^>]*> or \$a0,\$a0,\$at +0+04a8 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+04a8 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+04ac <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+04ac [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+04b0 <[^>]*> sb \$a0,1\(\$at\) +0+04b4 <[^>]*> srl \$a0,\$a0,0x8 +0+04b8 <[^>]*> sb \$a0,0\(\$at\) +0+04bc <[^>]*> lbu \$at,1\(\$at\) +0+04c0 <[^>]*> sll \$a0,\$a0,0x8 +0+04c4 <[^>]*> or \$a0,\$a0,\$at +0+04c8 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+04c8 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+04cc <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+04cc [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+04d0 <[^>]*> sb \$a0,1\(\$at\) +0+04d4 <[^>]*> srl \$a0,\$a0,0x8 +0+04d8 <[^>]*> sb \$a0,0\(\$at\) +0+04dc <[^>]*> lbu \$at,1\(\$at\) +0+04e0 <[^>]*> sll \$a0,\$a0,0x8 +0+04e4 <[^>]*> or \$a0,\$a0,\$at +0+04e8 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+04e8 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+04ec <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+04ec [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+04f0 <[^>]*> sb \$a0,1\(\$at\) +0+04f4 <[^>]*> srl \$a0,\$a0,0x8 +0+04f8 <[^>]*> sb \$a0,0\(\$at\) +0+04fc <[^>]*> lbu \$at,1\(\$at\) +0+0500 <[^>]*> sll \$a0,\$a0,0x8 +0+0504 <[^>]*> or \$a0,\$a0,\$at +0+0508 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0508 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+050c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+050c [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0510 <[^>]*> sb \$a0,1\(\$at\) +0+0514 <[^>]*> srl \$a0,\$a0,0x8 +0+0518 <[^>]*> sb \$a0,0\(\$at\) +0+051c <[^>]*> lbu \$at,1\(\$at\) +0+0520 <[^>]*> sll \$a0,\$a0,0x8 +0+0524 <[^>]*> or \$a0,\$a0,\$at +0+0528 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0528 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+052c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+052c [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+0530 <[^>]*> sb \$a0,1\(\$at\) +0+0534 <[^>]*> srl \$a0,\$a0,0x8 +0+0538 <[^>]*> sb \$a0,0\(\$at\) +0+053c <[^>]*> lbu \$at,1\(\$at\) +0+0540 <[^>]*> sll \$a0,\$a0,0x8 +0+0544 <[^>]*> or \$a0,\$a0,\$at +0+0548 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0548 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+054c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+054c [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0550 <[^>]*> sb \$a0,1\(\$at\) +0+0554 <[^>]*> srl \$a0,\$a0,0x8 +0+0558 <[^>]*> sb \$a0,0\(\$at\) +0+055c <[^>]*> lbu \$at,1\(\$at\) +0+0560 <[^>]*> sll \$a0,\$a0,0x8 +0+0564 <[^>]*> or \$a0,\$a0,\$at +0+0568 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0568 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+056c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+056c [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+0570 <[^>]*> sb \$a0,1\(\$at\) +0+0574 <[^>]*> srl \$a0,\$a0,0x8 +0+0578 <[^>]*> sb \$a0,0\(\$at\) +0+057c <[^>]*> lbu \$at,1\(\$at\) +0+0580 <[^>]*> sll \$a0,\$a0,0x8 +0+0584 <[^>]*> or \$a0,\$a0,\$at +0+0588 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0588 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+058c <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+058c [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+0590 <[^>]*> sb \$a0,1\(\$at\) +0+0594 <[^>]*> srl \$a0,\$a0,0x8 +0+0598 <[^>]*> sb \$a0,0\(\$at\) +0+059c <[^>]*> lbu \$at,1\(\$at\) +0+05a0 <[^>]*> sll \$a0,\$a0,0x8 +0+05a4 <[^>]*> or \$a0,\$a0,\$at +0+05a8 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+05a8 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+05ac <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+05ac [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+05b0 <[^>]*> sb \$a0,1\(\$at\) +0+05b4 <[^>]*> srl \$a0,\$a0,0x8 +0+05b8 <[^>]*> sb \$a0,0\(\$at\) +0+05bc <[^>]*> lbu \$at,1\(\$at\) +0+05c0 <[^>]*> sll \$a0,\$a0,0x8 +0+05c4 <[^>]*> or \$a0,\$a0,\$at +... diff --git a/gas/testsuite/gas/mips/ush.s b/gas/testsuite/gas/mips/ush.s new file mode 100644 index 00000000000..ad6f6517e5e --- /dev/null +++ b/gas/testsuite/gas/mips/ush.s @@ -0,0 +1,62 @@ +# Source file used to test the ush macro. + + .data +data_label: + .extern big_external_data_label,1000 + .extern small_external_data_label,1 + .comm big_external_common,1000 + .comm small_external_common,1 + .lcomm big_local_common,1000 + .lcomm small_local_common,1 + + .text + ush $4,0 + ush $4,1 + ush $4,0x8000 + ush $4,-0x8000 + ush $4,0x10000 + ush $4,0x1a5a5 + ush $4,0($5) + ush $4,1($5) + ush $4,data_label + ush $4,big_external_data_label + ush $4,small_external_data_label + ush $4,big_external_common + ush $4,small_external_common + ush $4,big_local_common + ush $4,small_local_common + ush $4,data_label+1 + ush $4,big_external_data_label+1 + ush $4,small_external_data_label+1 + ush $4,big_external_common+1 + ush $4,small_external_common+1 + ush $4,big_local_common+1 + ush $4,small_local_common+1 + ush $4,data_label+0x8000 + ush $4,big_external_data_label+0x8000 + ush $4,small_external_data_label+0x8000 + ush $4,big_external_common+0x8000 + ush $4,small_external_common+0x8000 + ush $4,big_local_common+0x8000 + ush $4,small_local_common+0x8000 + ush $4,data_label-0x8000 + ush $4,big_external_data_label-0x8000 + ush $4,small_external_data_label-0x8000 + ush $4,big_external_common-0x8000 + ush $4,small_external_common-0x8000 + ush $4,big_local_common-0x8000 + ush $4,small_local_common-0x8000 + ush $4,data_label+0x10000 + ush $4,big_external_data_label+0x10000 + ush $4,small_external_data_label+0x10000 + ush $4,big_external_common+0x10000 + ush $4,small_external_common+0x10000 + ush $4,big_local_common+0x10000 + ush $4,small_local_common+0x10000 + ush $4,data_label+0x1a5a5 + ush $4,big_external_data_label+0x1a5a5 + ush $4,small_external_data_label+0x1a5a5 + ush $4,big_external_common+0x1a5a5 + ush $4,small_external_common+0x1a5a5 + ush $4,big_local_common+0x1a5a5 + ush $4,small_local_common+0x1a5a5 diff --git a/gas/testsuite/gas/mips/usw.d b/gas/testsuite/gas/mips/usw.d new file mode 100644 index 00000000000..e65f9c287b6 --- /dev/null +++ b/gas/testsuite/gas/mips/usw.d @@ -0,0 +1,276 @@ +#objdump: -dr +#name: usw +#as: -mips1 + +# Test the usw macro. + +.*: +file format .*mips.* + +Disassembly of section .text: +0+0000 <[^>]*> swl \$a0,0\(\$zero\) +0+0004 <[^>]*> swr \$a0,3\(\$zero\) +0+0008 <[^>]*> swl \$a0,1\(\$zero\) +0+000c <[^>]*> swr \$a0,4\(\$zero\) +0+0010 <[^>]*> li \$at,32768 +0+0014 <[^>]*> swl \$a0,0\(\$at\) +0+0018 <[^>]*> swr \$a0,3\(\$at\) +0+001c <[^>]*> swl \$a0,-32768\(\$zero\) +0+0020 <[^>]*> swr \$a0,-32765\(\$zero\) +0+0024 <[^>]*> lui \$at,1 +0+0028 <[^>]*> swl \$a0,0\(\$at\) +0+002c <[^>]*> swr \$a0,3\(\$at\) +0+0030 <[^>]*> lui \$at,1 +0+0034 <[^>]*> ori \$at,\$at,42405 +0+0038 <[^>]*> swl \$a0,0\(\$at\) +0+003c <[^>]*> swr \$a0,3\(\$at\) +0+0040 <[^>]*> swl \$a0,0\(\$a1\) +0+0044 <[^>]*> swr \$a0,3\(\$a1\) +0+0048 <[^>]*> swl \$a0,1\(\$a1\) +0+004c <[^>]*> swr \$a0,[-0-9]+\(\$a1\) +[ ]*RELOC: 0+004c [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0050 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0050 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+0054 <[^>]*> addiu \$at,\$at,0 +0+0058 <[^>]*> swl \$a0,0\(\$at\) +0+005c <[^>]*> swr \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+005c [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0060 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0060 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+0064 <[^>]*> addiu \$at,\$at,0 +0+0068 <[^>]*> swl \$a0,0\(\$at\) +0+006c <[^>]*> swr \$a0,3\(\$at\) +0+0070 <[^>]*> addiu \$at,\$gp,0 +[ ]*RELOC: 0+0070 [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label +0+0074 <[^>]*> swl \$a0,0\(\$at\) +0+0078 <[^>]*> swr \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0078 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+007c <[^>]*> lui \$at,0 +[ ]*RELOC: 0+007c [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+0080 <[^>]*> addiu \$at,\$at,0 +0+0084 <[^>]*> swl \$a0,0\(\$at\) +0+0088 <[^>]*> swr \$a0,3\(\$at\) +0+008c <[^>]*> addiu \$at,\$gp,0 +[ ]*RELOC: 0+008c [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common +0+0090 <[^>]*> swl \$a0,0\(\$at\) +0+0094 <[^>]*> swr \$a0,[-0-9]+\(\$at\) +[ ]*RELOC: 0+0094 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0098 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0098 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+009c <[^>]*> addiu \$at,\$at,0 +0+00a0 <[^>]*> swl \$a0,0\(\$at\) +0+00a4 <[^>]*> swr \$a0,3\(\$at\) +0+00a8 <[^>]*> addiu \$at,\$gp,[-0-9]+ +[ ]*RELOC: 0+00a8 [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.* +0+00ac <[^>]*> swl \$a0,0\(\$at\) +0+00b0 <[^>]*> swr \$a0,3\(\$at\) +0+00b4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00b4 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+00b8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+00b8 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+00bc <[^>]*> swl \$a0,0\(\$at\) +0+00c0 <[^>]*> swr \$a0,3\(\$at\) +0+00c4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00c4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+00c8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+00c8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+00cc <[^>]*> swl \$a0,0\(\$at\) +0+00d0 <[^>]*> swr \$a0,3\(\$at\) +0+00d4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00d4 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+00d8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+00d8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+00dc <[^>]*> swl \$a0,0\(\$at\) +0+00e0 <[^>]*> swr \$a0,3\(\$at\) +0+00e4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00e4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+00e8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+00e8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+00ec <[^>]*> swl \$a0,0\(\$at\) +0+00f0 <[^>]*> swr \$a0,3\(\$at\) +0+00f4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+00f4 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+00f8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+00f8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+00fc <[^>]*> swl \$a0,0\(\$at\) +0+0100 <[^>]*> swr \$a0,3\(\$at\) +0+0104 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0104 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0108 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0108 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+010c <[^>]*> swl \$a0,0\(\$at\) +0+0110 <[^>]*> swr \$a0,3\(\$at\) +0+0114 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0114 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0118 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0118 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+011c <[^>]*> swl \$a0,0\(\$at\) +0+0120 <[^>]*> swr \$a0,3\(\$at\) +0+0124 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0124 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0128 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0128 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+012c <[^>]*> swl \$a0,0\(\$at\) +0+0130 <[^>]*> swr \$a0,3\(\$at\) +0+0134 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0134 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0138 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0138 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+013c <[^>]*> swl \$a0,0\(\$at\) +0+0140 <[^>]*> swr \$a0,3\(\$at\) +0+0144 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0144 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0148 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0148 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+014c <[^>]*> swl \$a0,0\(\$at\) +0+0150 <[^>]*> swr \$a0,3\(\$at\) +0+0154 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0154 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0158 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0158 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+015c <[^>]*> swl \$a0,0\(\$at\) +0+0160 <[^>]*> swr \$a0,3\(\$at\) +0+0164 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0164 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0168 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0168 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+016c <[^>]*> swl \$a0,0\(\$at\) +0+0170 <[^>]*> swr \$a0,3\(\$at\) +0+0174 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0174 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0178 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0178 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+017c <[^>]*> swl \$a0,0\(\$at\) +0+0180 <[^>]*> swr \$a0,3\(\$at\) +0+0184 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0184 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0188 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0188 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+018c <[^>]*> swl \$a0,0\(\$at\) +0+0190 <[^>]*> swr \$a0,3\(\$at\) +0+0194 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+0194 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0198 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0198 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+019c <[^>]*> swl \$a0,0\(\$at\) +0+01a0 <[^>]*> swr \$a0,3\(\$at\) +0+01a4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01a4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+01a8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01a8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+01ac <[^>]*> swl \$a0,0\(\$at\) +0+01b0 <[^>]*> swr \$a0,3\(\$at\) +0+01b4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01b4 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+01b8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01b8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+01bc <[^>]*> swl \$a0,0\(\$at\) +0+01c0 <[^>]*> swr \$a0,3\(\$at\) +0+01c4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01c4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+01c8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01c8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+01cc <[^>]*> swl \$a0,0\(\$at\) +0+01d0 <[^>]*> swr \$a0,3\(\$at\) +0+01d4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01d4 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+01d8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01d8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+01dc <[^>]*> swl \$a0,0\(\$at\) +0+01e0 <[^>]*> swr \$a0,3\(\$at\) +0+01e4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01e4 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+01e8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01e8 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+01ec <[^>]*> swl \$a0,0\(\$at\) +0+01f0 <[^>]*> swr \$a0,3\(\$at\) +0+01f4 <[^>]*> lui \$at,0 +[ ]*RELOC: 0+01f4 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+01f8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+01f8 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+01fc <[^>]*> swl \$a0,0\(\$at\) +0+0200 <[^>]*> swr \$a0,3\(\$at\) +0+0204 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0204 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0208 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0208 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+020c <[^>]*> swl \$a0,0\(\$at\) +0+0210 <[^>]*> swr \$a0,3\(\$at\) +0+0214 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0214 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0218 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0218 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+021c <[^>]*> swl \$a0,0\(\$at\) +0+0220 <[^>]*> swr \$a0,3\(\$at\) +0+0224 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0224 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0228 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0228 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+022c <[^>]*> swl \$a0,0\(\$at\) +0+0230 <[^>]*> swr \$a0,3\(\$at\) +0+0234 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0234 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+0238 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0238 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+023c <[^>]*> swl \$a0,0\(\$at\) +0+0240 <[^>]*> swr \$a0,3\(\$at\) +0+0244 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0244 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+0248 <[^>]*> addiu \$at,\$at,0 +[ ]*RELOC: 0+0248 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+024c <[^>]*> swl \$a0,0\(\$at\) +0+0250 <[^>]*> swr \$a0,3\(\$at\) +0+0254 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0254 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+0258 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0258 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+025c <[^>]*> swl \$a0,0\(\$at\) +0+0260 <[^>]*> swr \$a0,3\(\$at\) +0+0264 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0264 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+0268 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0268 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+026c <[^>]*> swl \$a0,0\(\$at\) +0+0270 <[^>]*> swr \$a0,3\(\$at\) +0+0274 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0274 [A-Z0-9_]*HI[A-Z0-9_]* .data.* +0+0278 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0278 [A-Z0-9_]*LO[A-Z0-9_]* .data.* +0+027c <[^>]*> swl \$a0,0\(\$at\) +0+0280 <[^>]*> swr \$a0,3\(\$at\) +0+0284 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0284 [A-Z0-9_]*HI[A-Z0-9_]* big_external_data_label +0+0288 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0288 [A-Z0-9_]*LO[A-Z0-9_]* big_external_data_label +0+028c <[^>]*> swl \$a0,0\(\$at\) +0+0290 <[^>]*> swr \$a0,3\(\$at\) +0+0294 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+0294 [A-Z0-9_]*HI[A-Z0-9_]* small_external_data_label +0+0298 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+0298 [A-Z0-9_]*LO[A-Z0-9_]* small_external_data_label +0+029c <[^>]*> swl \$a0,0\(\$at\) +0+02a0 <[^>]*> swr \$a0,3\(\$at\) +0+02a4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+02a4 [A-Z0-9_]*HI[A-Z0-9_]* big_external_common +0+02a8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02a8 [A-Z0-9_]*LO[A-Z0-9_]* big_external_common +0+02ac <[^>]*> swl \$a0,0\(\$at\) +0+02b0 <[^>]*> swr \$a0,3\(\$at\) +0+02b4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+02b4 [A-Z0-9_]*HI[A-Z0-9_]* small_external_common +0+02b8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02b8 [A-Z0-9_]*LO[A-Z0-9_]* small_external_common +0+02bc <[^>]*> swl \$a0,0\(\$at\) +0+02c0 <[^>]*> swr \$a0,3\(\$at\) +0+02c4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+02c4 [A-Z0-9_]*HI[A-Z0-9_]* .bss.* +0+02c8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02c8 [A-Z0-9_]*LO[A-Z0-9_]* .bss.* +0+02cc <[^>]*> swl \$a0,0\(\$at\) +0+02d0 <[^>]*> swr \$a0,3\(\$at\) +0+02d4 <[^>]*> lui \$at,[-0-9]+ +[ ]*RELOC: 0+02d4 [A-Z0-9_]*HI[A-Z0-9_]* .sbss.* +0+02d8 <[^>]*> addiu \$at,\$at,[-0-9]+ +[ ]*RELOC: 0+02d8 [A-Z0-9_]*LO[A-Z0-9_]* .sbss.* +0+02dc <[^>]*> swl \$a0,0\(\$at\) +0+02e0 <[^>]*> swr \$a0,3\(\$at\) +... diff --git a/gas/testsuite/gas/mips/usw.s b/gas/testsuite/gas/mips/usw.s new file mode 100644 index 00000000000..64486cfc22c --- /dev/null +++ b/gas/testsuite/gas/mips/usw.s @@ -0,0 +1,62 @@ +# Source file used to test the usw macro. + + .data +data_label: + .extern big_external_data_label,1000 + .extern small_external_data_label,1 + .comm big_external_common,1000 + .comm small_external_common,1 + .lcomm big_local_common,1000 + .lcomm small_local_common,1 + + .text + usw $4,0 + usw $4,1 + usw $4,0x8000 + usw $4,-0x8000 + usw $4,0x10000 + usw $4,0x1a5a5 + usw $4,0($5) + usw $4,1($5) + usw $4,data_label + usw $4,big_external_data_label + usw $4,small_external_data_label + usw $4,big_external_common + usw $4,small_external_common + usw $4,big_local_common + usw $4,small_local_common + usw $4,data_label+1 + usw $4,big_external_data_label+1 + usw $4,small_external_data_label+1 + usw $4,big_external_common+1 + usw $4,small_external_common+1 + usw $4,big_local_common+1 + usw $4,small_local_common+1 + usw $4,data_label+0x8000 + usw $4,big_external_data_label+0x8000 + usw $4,small_external_data_label+0x8000 + usw $4,big_external_common+0x8000 + usw $4,small_external_common+0x8000 + usw $4,big_local_common+0x8000 + usw $4,small_local_common+0x8000 + usw $4,data_label-0x8000 + usw $4,big_external_data_label-0x8000 + usw $4,small_external_data_label-0x8000 + usw $4,big_external_common-0x8000 + usw $4,small_external_common-0x8000 + usw $4,big_local_common-0x8000 + usw $4,small_local_common-0x8000 + usw $4,data_label+0x10000 + usw $4,big_external_data_label+0x10000 + usw $4,small_external_data_label+0x10000 + usw $4,big_external_common+0x10000 + usw $4,small_external_common+0x10000 + usw $4,big_local_common+0x10000 + usw $4,small_local_common+0x10000 + usw $4,data_label+0x1a5a5 + usw $4,big_external_data_label+0x1a5a5 + usw $4,small_external_data_label+0x1a5a5 + usw $4,big_external_common+0x1a5a5 + usw $4,small_external_common+0x1a5a5 + usw $4,big_local_common+0x1a5a5 + usw $4,small_local_common+0x1a5a5