]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
LoongArch: Add gas testsuit for LA64 int/float instructions
authorLulu Cai <cailulu@loongson.cn>
Wed, 10 Jan 2024 06:44:48 +0000 (14:44 +0800)
committerliuzhensong <liuzhensong@loongson.cn>
Tue, 5 Mar 2024 11:55:31 +0000 (19:55 +0800)
Test the int/float instructions of LA64.

gas/testsuite/gas/loongarch/insn_float64.d [new file with mode: 0644]
gas/testsuite/gas/loongarch/insn_float64.s [new file with mode: 0644]
gas/testsuite/gas/loongarch/insn_int64.d [new file with mode: 0644]
gas/testsuite/gas/loongarch/insn_int64.s [new file with mode: 0644]

diff --git a/gas/testsuite/gas/loongarch/insn_float64.d b/gas/testsuite/gas/loongarch/insn_float64.d
new file mode 100644 (file)
index 0000000..4ffbfa7
--- /dev/null
@@ -0,0 +1,165 @@
+#as-new:
+#objdump: -d
+#skip: loongarch32-*-*
+
+.*:     file format .*
+
+
+Disassembly of section .text:
+
+0+ <.*>:
+   0:  01008820        fadd.s          \$fa0, \$fa1, \$fa2
+   4:  01010820        fadd.d          \$fa0, \$fa1, \$fa2
+   8:  01028820        fsub.s          \$fa0, \$fa1, \$fa2
+   c:  01030820        fsub.d          \$fa0, \$fa1, \$fa2
+  10:  01048820        fmul.s          \$fa0, \$fa1, \$fa2
+  14:  01050820        fmul.d          \$fa0, \$fa1, \$fa2
+  18:  01068820        fdiv.s          \$fa0, \$fa1, \$fa2
+  1c:  01070820        fdiv.d          \$fa0, \$fa1, \$fa2
+  20:  01088820        fmax.s          \$fa0, \$fa1, \$fa2
+  24:  01090820        fmax.d          \$fa0, \$fa1, \$fa2
+  28:  010a8820        fmin.s          \$fa0, \$fa1, \$fa2
+  2c:  010b0820        fmin.d          \$fa0, \$fa1, \$fa2
+  30:  010c8820        fmaxa.s         \$fa0, \$fa1, \$fa2
+  34:  010d0820        fmaxa.d         \$fa0, \$fa1, \$fa2
+  38:  010e8820        fmina.s         \$fa0, \$fa1, \$fa2
+  3c:  010f0820        fmina.d         \$fa0, \$fa1, \$fa2
+  40:  01108820        fscaleb.s       \$fa0, \$fa1, \$fa2
+  44:  01110820        fscaleb.d       \$fa0, \$fa1, \$fa2
+  48:  01128820        fcopysign.s     \$fa0, \$fa1, \$fa2
+  4c:  01130820        fcopysign.d     \$fa0, \$fa1, \$fa2
+  50:  01140420        fabs.s          \$fa0, \$fa1
+  54:  01140820        fabs.d          \$fa0, \$fa1
+  58:  01141420        fneg.s          \$fa0, \$fa1
+  5c:  01141820        fneg.d          \$fa0, \$fa1
+  60:  01142420        flogb.s         \$fa0, \$fa1
+  64:  01142820        flogb.d         \$fa0, \$fa1
+  68:  01143420        fclass.s        \$fa0, \$fa1
+  6c:  01143820        fclass.d        \$fa0, \$fa1
+  70:  01144420        fsqrt.s         \$fa0, \$fa1
+  74:  01144820        fsqrt.d         \$fa0, \$fa1
+  78:  01145420        frecip.s        \$fa0, \$fa1
+  7c:  01145820        frecip.d        \$fa0, \$fa1
+  80:  01146420        frsqrt.s        \$fa0, \$fa1
+  84:  01146820        frsqrt.d        \$fa0, \$fa1
+  88:  01149420        fmov.s          \$fa0, \$fa1
+  8c:  01149820        fmov.d          \$fa0, \$fa1
+  90:  0114a4a0        movgr2fr.w      \$fa0, \$a1
+  94:  0114a8a0        movgr2fr.d      \$fa0, \$a1
+  98:  0114aca0        movgr2frh.w     \$fa0, \$a1
+  9c:  0114b424        movfr2gr.s      \$a0, \$fa1
+  a0:  0114b824        movfr2gr.d      \$a0, \$fa1
+  a4:  0114bc24        movfrh2gr.s     \$a0, \$fa1
+  a8:  0114c0a0        movgr2fcsr      \$fcsr0, \$a1
+  ac:  0114c804        movfcsr2gr      \$a0, \$fcsr0
+  b0:  0114d020        movfr2cf        \$fcc0, \$fa1
+  b4:  0114d4a0        movcf2fr        \$fa0, \$fcc5
+  b8:  0114d8a0        movgr2cf        \$fcc0, \$a1
+  bc:  0114dca4        movcf2gr        \$a0, \$fcc5
+  c0:  01191820        fcvt.s.d        \$fa0, \$fa1
+  c4:  01192420        fcvt.d.s        \$fa0, \$fa1
+  c8:  011a0420        ftintrm.w.s     \$fa0, \$fa1
+  cc:  011a0820        ftintrm.w.d     \$fa0, \$fa1
+  d0:  011a2420        ftintrm.l.s     \$fa0, \$fa1
+  d4:  011a2820        ftintrm.l.d     \$fa0, \$fa1
+  d8:  011a4420        ftintrp.w.s     \$fa0, \$fa1
+  dc:  011a4820        ftintrp.w.d     \$fa0, \$fa1
+  e0:  011a6420        ftintrp.l.s     \$fa0, \$fa1
+  e4:  011a6820        ftintrp.l.d     \$fa0, \$fa1
+  e8:  011a8420        ftintrz.w.s     \$fa0, \$fa1
+  ec:  011a8820        ftintrz.w.d     \$fa0, \$fa1
+  f0:  011aa420        ftintrz.l.s     \$fa0, \$fa1
+  f4:  011aa820        ftintrz.l.d     \$fa0, \$fa1
+  f8:  011ac420        ftintrne.w.s    \$fa0, \$fa1
+  fc:  011ac820        ftintrne.w.d    \$fa0, \$fa1
+ 100:  011ae420        ftintrne.l.s    \$fa0, \$fa1
+ 104:  011ae820        ftintrne.l.d    \$fa0, \$fa1
+ 108:  011b0420        ftint.w.s       \$fa0, \$fa1
+ 10c:  011b0820        ftint.w.d       \$fa0, \$fa1
+ 110:  011b2420        ftint.l.s       \$fa0, \$fa1
+ 114:  011b2820        ftint.l.d       \$fa0, \$fa1
+ 118:  011d1020        ffint.s.w       \$fa0, \$fa1
+ 11c:  011d1820        ffint.s.l       \$fa0, \$fa1
+ 120:  011d2020        ffint.d.w       \$fa0, \$fa1
+ 124:  011d2820        ffint.d.l       \$fa0, \$fa1
+ 128:  011e4420        frint.s         \$fa0, \$fa1
+ 12c:  011e4820        frint.d         \$fa0, \$fa1
+ 130:  01147420        frecipe.s       \$fa0, \$fa1
+ 134:  01147820        frecipe.d       \$fa0, \$fa1
+ 138:  01148420        frsqrte.s       \$fa0, \$fa1
+ 13c:  01148820        frsqrte.d       \$fa0, \$fa1
+ 140:  08118820        fmadd.s         \$fa0, \$fa1, \$fa2, \$fa3
+ 144:  08218820        fmadd.d         \$fa0, \$fa1, \$fa2, \$fa3
+ 148:  08518820        fmsub.s         \$fa0, \$fa1, \$fa2, \$fa3
+ 14c:  08618820        fmsub.d         \$fa0, \$fa1, \$fa2, \$fa3
+ 150:  08918820        fnmadd.s        \$fa0, \$fa1, \$fa2, \$fa3
+ 154:  08a18820        fnmadd.d        \$fa0, \$fa1, \$fa2, \$fa3
+ 158:  08d18820        fnmsub.s        \$fa0, \$fa1, \$fa2, \$fa3
+ 15c:  08e18820        fnmsub.d        \$fa0, \$fa1, \$fa2, \$fa3
+ 160:  0c100820        fcmp.caf.s      \$fcc0, \$fa1, \$fa2
+ 164:  0c108820        fcmp.saf.s      \$fcc0, \$fa1, \$fa2
+ 168:  0c110820        fcmp.clt.s      \$fcc0, \$fa1, \$fa2
+ 16c:  0c118820        fcmp.slt.s      \$fcc0, \$fa1, \$fa2
+ 170:  0c118820        fcmp.slt.s      \$fcc0, \$fa1, \$fa2
+ 174:  0c120820        fcmp.ceq.s      \$fcc0, \$fa1, \$fa2
+ 178:  0c128820        fcmp.seq.s      \$fcc0, \$fa1, \$fa2
+ 17c:  0c130820        fcmp.cle.s      \$fcc0, \$fa1, \$fa2
+ 180:  0c138820        fcmp.sle.s      \$fcc0, \$fa1, \$fa2
+ 184:  0c138820        fcmp.sle.s      \$fcc0, \$fa1, \$fa2
+ 188:  0c140820        fcmp.cun.s      \$fcc0, \$fa1, \$fa2
+ 18c:  0c148820        fcmp.sun.s      \$fcc0, \$fa1, \$fa2
+ 190:  0c150820        fcmp.cult.s     \$fcc0, \$fa1, \$fa2
+ 194:  0c150820        fcmp.cult.s     \$fcc0, \$fa1, \$fa2
+ 198:  0c158820        fcmp.sult.s     \$fcc0, \$fa1, \$fa2
+ 19c:  0c160820        fcmp.cueq.s     \$fcc0, \$fa1, \$fa2
+ 1a0:  0c168820        fcmp.sueq.s     \$fcc0, \$fa1, \$fa2
+ 1a4:  0c170820        fcmp.cule.s     \$fcc0, \$fa1, \$fa2
+ 1a8:  0c170820        fcmp.cule.s     \$fcc0, \$fa1, \$fa2
+ 1ac:  0c178820        fcmp.sule.s     \$fcc0, \$fa1, \$fa2
+ 1b0:  0c180820        fcmp.cne.s      \$fcc0, \$fa1, \$fa2
+ 1b4:  0c188820        fcmp.sne.s      \$fcc0, \$fa1, \$fa2
+ 1b8:  0c1a0820        fcmp.cor.s      \$fcc0, \$fa1, \$fa2
+ 1bc:  0c1a8820        fcmp.sor.s      \$fcc0, \$fa1, \$fa2
+ 1c0:  0c1c0820        fcmp.cune.s     \$fcc0, \$fa1, \$fa2
+ 1c4:  0c1c8820        fcmp.sune.s     \$fcc0, \$fa1, \$fa2
+ 1c8:  0c200820        fcmp.caf.d      \$fcc0, \$fa1, \$fa2
+ 1cc:  0c208820        fcmp.saf.d      \$fcc0, \$fa1, \$fa2
+ 1d0:  0c210820        fcmp.clt.d      \$fcc0, \$fa1, \$fa2
+ 1d4:  0c218820        fcmp.slt.d      \$fcc0, \$fa1, \$fa2
+ 1d8:  0c218820        fcmp.slt.d      \$fcc0, \$fa1, \$fa2
+ 1dc:  0c220820        fcmp.ceq.d      \$fcc0, \$fa1, \$fa2
+ 1e0:  0c228820        fcmp.seq.d      \$fcc0, \$fa1, \$fa2
+ 1e4:  0c230820        fcmp.cle.d      \$fcc0, \$fa1, \$fa2
+ 1e8:  0c238820        fcmp.sle.d      \$fcc0, \$fa1, \$fa2
+ 1ec:  0c238820        fcmp.sle.d      \$fcc0, \$fa1, \$fa2
+ 1f0:  0c240820        fcmp.cun.d      \$fcc0, \$fa1, \$fa2
+ 1f4:  0c248820        fcmp.sun.d      \$fcc0, \$fa1, \$fa2
+ 1f8:  0c250820        fcmp.cult.d     \$fcc0, \$fa1, \$fa2
+ 1fc:  0c250820        fcmp.cult.d     \$fcc0, \$fa1, \$fa2
+ 200:  0c258820        fcmp.sult.d     \$fcc0, \$fa1, \$fa2
+ 204:  0c260820        fcmp.cueq.d     \$fcc0, \$fa1, \$fa2
+ 208:  0c268820        fcmp.sueq.d     \$fcc0, \$fa1, \$fa2
+ 20c:  0c270820        fcmp.cule.d     \$fcc0, \$fa1, \$fa2
+ 210:  0c270820        fcmp.cule.d     \$fcc0, \$fa1, \$fa2
+ 214:  0c278820        fcmp.sule.d     \$fcc0, \$fa1, \$fa2
+ 218:  0c280820        fcmp.cne.d      \$fcc0, \$fa1, \$fa2
+ 21c:  0c288820        fcmp.sne.d      \$fcc0, \$fa1, \$fa2
+ 220:  0c2a0820        fcmp.cor.d      \$fcc0, \$fa1, \$fa2
+ 224:  0c2a8820        fcmp.sor.d      \$fcc0, \$fa1, \$fa2
+ 228:  0c2c0820        fcmp.cune.d     \$fcc0, \$fa1, \$fa2
+ 22c:  0c2c8820        fcmp.sune.d     \$fcc0, \$fa1, \$fa2
+ 230:  0d000820        fsel            \$fa0, \$fa1, \$fa2, \$fcc0
+ 234:  2b00058a        fld.s           \$ft2, \$t0, 1
+ 238:  2b40058a        fst.s           \$ft2, \$t0, 1
+ 23c:  2b80058a        fld.d           \$ft2, \$t0, 1
+ 240:  2bc0058a        fst.d           \$ft2, \$t0, 1
+ 244:  38741480        fldgt.s         \$fa0, \$a0, \$a1
+ 248:  38749480        fldgt.d         \$fa0, \$a0, \$a1
+ 24c:  38751480        fldle.s         \$fa0, \$a0, \$a1
+ 250:  38759480        fldle.d         \$fa0, \$a0, \$a1
+ 254:  38761480        fstgt.s         \$fa0, \$a0, \$a1
+ 258:  38769480        fstgt.d         \$fa0, \$a0, \$a1
+ 25c:  38771480        fstle.s         \$fa0, \$a0, \$a1
+ 260:  38779480        fstle.d         \$fa0, \$a0, \$a1
+ 264:  48000000        bceqz           \$fcc0, 0       # 0x264
+ 268:  48000100        bcnez           \$fcc0, 0       # 0x268
diff --git a/gas/testsuite/gas/loongarch/insn_float64.s b/gas/testsuite/gas/loongarch/insn_float64.s
new file mode 100644 (file)
index 0000000..a7ce56e
--- /dev/null
@@ -0,0 +1,157 @@
+fadd.s  $f0,$f1,$f2
+fadd.d  $f0,$f1,$f2
+fsub.s  $f0,$f1,$f2
+fsub.d  $f0,$f1,$f2
+fmul.s  $f0,$f1,$f2
+fmul.d  $f0,$f1,$f2
+fdiv.s  $f0,$f1,$f2
+fdiv.d  $f0,$f1,$f2
+fmax.s  $f0,$f1,$f2
+fmax.d  $f0,$f1,$f2
+fmin.s  $f0,$f1,$f2
+fmin.d  $f0,$f1,$f2
+fmaxa.s  $f0,$f1,$f2
+fmaxa.d  $f0,$f1,$f2
+fmina.s  $f0,$f1,$f2
+fmina.d  $f0,$f1,$f2
+fscaleb.s  $f0,$f1,$f2
+fscaleb.d  $f0,$f1,$f2
+fcopysign.s  $f0,$f1,$f2
+fcopysign.d  $f0,$f1,$f2
+fabs.s  $f0,$f1
+fabs.d  $f0,$f1
+fneg.s  $f0,$f1
+fneg.d  $f0,$f1
+flogb.s  $f0,$f1
+flogb.d  $f0,$f1
+fclass.s  $f0,$f1
+fclass.d  $f0,$f1
+fsqrt.s  $f0,$f1
+fsqrt.d  $f0,$f1
+frecip.s  $f0,$f1
+frecip.d  $f0,$f1
+frsqrt.s  $f0,$f1
+frsqrt.d  $f0,$f1
+fmov.s  $f0,$f1
+fmov.d  $f0,$f1
+movgr2fr.w  $f0,$r5
+movgr2fr.d  $f0,$r5
+movgr2frh.w  $f0,$r5
+movfr2gr.s  $r4,$f1
+movfr2gr.d  $r4,$f1
+movfrh2gr.s  $r4,$f1
+movgr2fcsr  $fcsr0,$r5
+movfcsr2gr  $r4,$fcsr0
+movfr2cf  $fcc0,$f1
+movcf2fr  $f0,$fcc5
+movgr2cf  $fcc0,$r5
+movcf2gr  $r4,$fcc5
+fcvt.s.d  $f0,$f1
+fcvt.d.s  $f0,$f1
+ftintrm.w.s  $f0,$f1
+ftintrm.w.d  $f0,$f1
+ftintrm.l.s  $f0,$f1
+ftintrm.l.d  $f0,$f1
+ftintrp.w.s  $f0,$f1
+ftintrp.w.d  $f0,$f1
+ftintrp.l.s  $f0,$f1
+ftintrp.l.d  $f0,$f1
+ftintrz.w.s  $f0,$f1
+ftintrz.w.d  $f0,$f1
+ftintrz.l.s  $f0,$f1
+ftintrz.l.d  $f0,$f1
+ftintrne.w.s  $f0,$f1
+ftintrne.w.d  $f0,$f1
+ftintrne.l.s  $f0,$f1
+ftintrne.l.d  $f0,$f1
+ftint.w.s  $f0,$f1
+ftint.w.d  $f0,$f1
+ftint.l.s  $f0,$f1
+ftint.l.d  $f0,$f1
+ffint.s.w  $f0,$f1
+ffint.s.l  $f0,$f1
+ffint.d.w  $f0,$f1
+ffint.d.l  $f0,$f1
+frint.s  $f0,$f1
+frint.d  $f0,$f1
+frecipe.s  $f0,$f1
+frecipe.d  $f0,$f1
+frsqrte.s  $f0,$f1
+frsqrte.d  $f0,$f1
+
+# 4_opt_op
+fmadd.s  $f0,$f1,$f2,$f3
+fmadd.d  $f0,$f1,$f2,$f3
+fmsub.s  $f0,$f1,$f2,$f3
+fmsub.d  $f0,$f1,$f2,$f3
+fnmadd.s  $f0,$f1,$f2,$f3
+fnmadd.d  $f0,$f1,$f2,$f3
+fnmsub.s  $f0,$f1,$f2,$f3
+fnmsub.d  $f0,$f1,$f2,$f3
+fcmp.caf.s  $fcc0,$f1,$f2
+fcmp.saf.s  $fcc0,$f1,$f2
+fcmp.clt.s  $fcc0,$f1,$f2
+fcmp.slt.s  $fcc0,$f1,$f2
+fcmp.sgt.s  $fcc0,$f2,$f1
+fcmp.ceq.s  $fcc0,$f1,$f2
+fcmp.seq.s  $fcc0,$f1,$f2
+fcmp.cle.s  $fcc0,$f1,$f2
+fcmp.sle.s  $fcc0,$f1,$f2
+fcmp.sge.s  $fcc0,$f2,$f1
+fcmp.cun.s  $fcc0,$f1,$f2
+fcmp.sun.s  $fcc0,$f1,$f2
+fcmp.cult.s  $fcc0,$f1,$f2
+fcmp.cugt.s  $fcc0,$f2,$f1
+fcmp.sult.s  $fcc0,$f1,$f2
+fcmp.cueq.s  $fcc0,$f1,$f2
+fcmp.sueq.s  $fcc0,$f1,$f2
+fcmp.cule.s  $fcc0,$f1,$f2
+fcmp.cuge.s  $fcc0,$f2,$f1
+fcmp.sule.s  $fcc0,$f1,$f2
+fcmp.cne.s  $fcc0,$f1,$f2
+fcmp.sne.s  $fcc0,$f1,$f2
+fcmp.cor.s  $fcc0,$f1,$f2
+fcmp.sor.s  $fcc0,$f1,$f2
+fcmp.cune.s  $fcc0,$f1,$f2
+fcmp.sune.s  $fcc0,$f1,$f2
+fcmp.caf.d  $fcc0,$f1,$f2
+fcmp.saf.d  $fcc0,$f1,$f2
+fcmp.clt.d  $fcc0,$f1,$f2
+fcmp.slt.d  $fcc0,$f1,$f2
+fcmp.sgt.d  $fcc0,$f2,$f1
+fcmp.ceq.d  $fcc0,$f1,$f2
+fcmp.seq.d  $fcc0,$f1,$f2
+fcmp.cle.d  $fcc0,$f1,$f2
+fcmp.sle.d  $fcc0,$f1,$f2
+fcmp.sge.d  $fcc0,$f2,$f1
+fcmp.cun.d  $fcc0,$f1,$f2
+fcmp.sun.d  $fcc0,$f1,$f2
+fcmp.cult.d  $fcc0,$f1,$f2
+fcmp.cugt.d  $fcc0,$f2,$f1
+fcmp.sult.d  $fcc0,$f1,$f2
+fcmp.cueq.d  $fcc0,$f1,$f2
+fcmp.sueq.d  $fcc0,$f1,$f2
+fcmp.cule.d  $fcc0,$f1,$f2
+fcmp.cuge.d  $fcc0,$f2,$f1
+fcmp.sule.d  $fcc0,$f1,$f2
+fcmp.cne.d  $fcc0,$f1,$f2
+fcmp.sne.d  $fcc0,$f1,$f2
+fcmp.cor.d  $fcc0,$f1,$f2
+fcmp.sor.d  $fcc0,$f1,$f2
+fcmp.cune.d  $fcc0,$f1,$f2
+fcmp.sune.d  $fcc0,$f1,$f2
+fsel  $f0,$f1,$f2,$fcc0
+fld.s $f10,$r12,1
+fst.s $f10,$r12,1
+fld.d $f10,$r12,1
+fst.d $f10,$r12,1
+fldgt.s        $f0,$a0,$a1
+fldgt.d        $f0,$a0,$a1
+fldle.s        $f0,$a0,$a1
+fldle.d        $f0,$a0,$a1
+fstgt.s        $f0,$a0,$a1
+fstgt.d        $f0,$a0,$a1
+fstle.s        $f0,$a0,$a1
+fstle.d        $f0,$a0,$a1
+bceqz  $fcc0,.L1
+bcnez  $fcc0,.L1
diff --git a/gas/testsuite/gas/loongarch/insn_int64.d b/gas/testsuite/gas/loongarch/insn_int64.d
new file mode 100644 (file)
index 0000000..360b840
--- /dev/null
@@ -0,0 +1,430 @@
+#as-new:
+#objdump: -d -M no-aliases
+#skip: loongarch32-*-*
+
+.*:     file format .*
+
+
+Disassembly of section .text:
+
+0+ <.*>:
+   0:  020000a4        slti            \$a0, \$a1, 0
+   4:  021ffca4        slti            \$a0, \$a1, 2047
+   8:  022004a4        slti            \$a0, \$a1, -2047
+   c:  024000a4        sltui           \$a0, \$a1, 0
+  10:  025ffca4        sltui           \$a0, \$a1, 2047
+  14:  026004a4        sltui           \$a0, \$a1, -2047
+  18:  028000a4        addi.w          \$a0, \$a1, 0
+  1c:  029ffca4        addi.w          \$a0, \$a1, 2047
+  20:  02a004a4        addi.w          \$a0, \$a1, -2047
+  24:  02c000a4        addi.d          \$a0, \$a1, 0
+  28:  02dffca4        addi.d          \$a0, \$a1, 2047
+  2c:  02e004a4        addi.d          \$a0, \$a1, -2047
+  30:  030000a4        lu52i.d         \$a0, \$a1, 0
+  34:  031ffca4        lu52i.d         \$a0, \$a1, 2047
+  38:  032004a4        lu52i.d         \$a0, \$a1, -2047
+  3c:  034000a4        andi            \$a0, \$a1, 0x0
+  40:  035ffca4        andi            \$a0, \$a1, 0x7ff
+  44:  038000a4        ori             \$a0, \$a1, 0x0
+  48:  039ffca4        ori             \$a0, \$a1, 0x7ff
+  4c:  03c000a4        xori            \$a0, \$a1, 0x0
+  50:  03dffca4        xori            \$a0, \$a1, 0x7ff
+  54:  100000a4        addu16i.d       \$a0, \$a1, 0
+  58:  11fffca4        addu16i.d       \$a0, \$a1, 32767
+  5c:  120004a4        addu16i.d       \$a0, \$a1, -32767
+  60:  14000004        lu12i.w         \$a0, 0
+  64:  14ffffe4        lu12i.w         \$a0, 524287
+  68:  17000024        lu32i.d         \$a0, -524287
+  6c:  18000004        pcaddi          \$a0, 0
+  70:  18ffffe4        pcaddi          \$a0, 524287
+  74:  19000004        pcaddi          \$a0, -524288
+  78:  1a000004        pcalau12i       \$a0, 0
+  7c:  1affffe4        pcalau12i       \$a0, 524287
+  80:  1b000024        pcalau12i       \$a0, -524287
+  84:  1c000004        pcaddu12i       \$a0, 0
+  88:  1cffffe4        pcaddu12i       \$a0, 524287
+  8c:  1d000024        pcaddu12i       \$a0, -524287
+  90:  1e000004        pcaddu18i       \$a0, 0
+  94:  1effffe4        pcaddu18i       \$a0, 524287
+  98:  1f000024        pcaddu18i       \$a0, -524287
+  9c:  0004b58b        alsl.w          \$a7, \$t0, \$t1, 0x2
+  a0:  0006b58b        alsl.wu         \$a7, \$t0, \$t1, 0x2
+  a4:  0009358b        bytepick.w      \$a7, \$t0, \$t1, 0x2
+  a8:  000d358b        bytepick.d      \$a7, \$t0, \$t1, 0x2
+  ac:  002a0002        break           0x2
+  b0:  002a8002        dbcl            0x2
+  b4:  002b0002        syscall         0x2
+  b8:  002cb58b        alsl.d          \$a7, \$t0, \$t1, 0x2
+  bc:  0040898b        slli.w          \$a7, \$t0, 0x2
+  c0:  0041098b        slli.d          \$a7, \$t0, 0x2
+  c4:  0044898b        srli.w          \$a7, \$t0, 0x2
+  c8:  004509ac        srli.d          \$t0, \$t1, 0x2
+  cc:  004889ac        srai.w          \$t0, \$t1, 0x2
+  d0:  004909ac        srai.d          \$t0, \$t1, 0x2
+  d4:  006209ac        bstrins.w       \$t0, \$t1, 0x2, 0x2
+  d8:  008209ac        bstrins.d       \$t0, \$t1, 0x2, 0x2
+  dc:  00c209ac        bstrpick.d      \$t0, \$t1, 0x2, 0x2
+  e0:  00c209ac        bstrpick.d      \$t0, \$t1, 0x2, 0x2
+  e4:  02048dac        slti            \$t0, \$t1, 291
+  e8:  02448dac        sltui           \$t0, \$t1, 291
+  ec:  02848dac        addi.w          \$t0, \$t1, 291
+  f0:  02c48dac        addi.d          \$t0, \$t1, 291
+  f4:  03048dac        lu52i.d         \$t0, \$t1, 291
+  f8:  034009ac        andi            \$t0, \$t1, 0x2
+  fc:  038009ac        ori             \$t0, \$t1, 0x2
+ 100:  03c009ac        xori            \$t0, \$t1, 0x2
+ 104:  100009ac        addu16i.d       \$t0, \$t1, 2
+ 108:  1400246c        lu12i.w         \$t0, 291
+ 10c:  1600246c        lu32i.d         \$t0, 291
+ 110:  1800000c        pcaddi          \$t0, 0
+ 114:  1a00246c        pcalau12i       \$t0, 291
+ 118:  1c00246c        pcaddu12i       \$t0, 291
+ 11c:  1e00246c        pcaddu18i       \$t0, 291
+ 120:  04048c0c        csrrd           \$t0, 0x123
+ 124:  04048c2c        csrwr           \$t0, 0x123
+ 128:  040009ac        csrxchg         \$t0, \$t1, 0x2
+ 12c:  060009a2        cacop           0x2, \$t1, 2
+ 130:  064009ac        lddir           \$t0, \$t1, 0x2
+ 134:  06440980        ldpte           \$t0, 0x2
+ 138:  0649b9a2        invtlb          0x2, \$t1, \$t2
+ 13c:  000010a4        clo.w           \$a0, \$a1
+ 140:  000014a4        clz.w           \$a0, \$a1
+ 144:  000018a4        cto.w           \$a0, \$a1
+ 148:  00001ca4        ctz.w           \$a0, \$a1
+ 14c:  000020a4        clo.d           \$a0, \$a1
+ 150:  000024a4        clz.d           \$a0, \$a1
+ 154:  000028a4        cto.d           \$a0, \$a1
+ 158:  00002ca4        ctz.d           \$a0, \$a1
+ 15c:  000030a4        revb.2h         \$a0, \$a1
+ 160:  000034a4        revb.4h         \$a0, \$a1
+ 164:  000038a4        revb.2w         \$a0, \$a1
+ 168:  00003ca4        revb.d          \$a0, \$a1
+ 16c:  000040a4        revh.2w         \$a0, \$a1
+ 170:  000044a4        revh.d          \$a0, \$a1
+ 174:  000048a4        bitrev.4b       \$a0, \$a1
+ 178:  00004ca4        bitrev.8b       \$a0, \$a1
+ 17c:  000050a4        bitrev.w        \$a0, \$a1
+ 180:  000054a4        bitrev.d        \$a0, \$a1
+ 184:  000058a4        ext.w.h         \$a0, \$a1
+ 188:  00005ca4        ext.w.b         \$a0, \$a1
+ 18c:  000060a4        rdtimel.w       \$a0, \$a1
+ 190:  000064a4        rdtimeh.w       \$a0, \$a1
+ 194:  000068a4        rdtime.d        \$a0, \$a1
+ 198:  00006ca4        cpucfg          \$a0, \$a1
+ 19c:  000118a0        asrtle.d        \$a1, \$a2
+ 1a0:  000198a0        asrtgt.d        \$a1, \$a2
+ 1a4:  000418a4        alsl.w          \$a0, \$a1, \$a2, 0x1
+ 1a8:  000598a4        alsl.w          \$a0, \$a1, \$a2, 0x4
+ 1ac:  000618a4        alsl.wu         \$a0, \$a1, \$a2, 0x1
+ 1b0:  000798a4        alsl.wu         \$a0, \$a1, \$a2, 0x4
+ 1b4:  000818a4        bytepick.w      \$a0, \$a1, \$a2, 0x0
+ 1b8:  000998a4        bytepick.w      \$a0, \$a1, \$a2, 0x3
+ 1bc:  000c18a4        bytepick.d      \$a0, \$a1, \$a2, 0x0
+ 1c0:  000f98a4        bytepick.d      \$a0, \$a1, \$a2, 0x7
+ 1c4:  001018a4        add.w           \$a0, \$a1, \$a2
+ 1c8:  001098a4        add.d           \$a0, \$a1, \$a2
+ 1cc:  001118a4        sub.w           \$a0, \$a1, \$a2
+ 1d0:  001198a4        sub.d           \$a0, \$a1, \$a2
+ 1d4:  001218a4        slt             \$a0, \$a1, \$a2
+ 1d8:  001298a4        sltu            \$a0, \$a1, \$a2
+ 1dc:  001318a4        maskeqz         \$a0, \$a1, \$a2
+ 1e0:  001398a4        masknez         \$a0, \$a1, \$a2
+ 1e4:  001418a4        nor             \$a0, \$a1, \$a2
+ 1e8:  001498a4        and             \$a0, \$a1, \$a2
+ 1ec:  001518a4        or              \$a0, \$a1, \$a2
+ 1f0:  001598a4        xor             \$a0, \$a1, \$a2
+ 1f4:  001618a4        orn             \$a0, \$a1, \$a2
+ 1f8:  001698a4        andn            \$a0, \$a1, \$a2
+ 1fc:  001718a4        sll.w           \$a0, \$a1, \$a2
+ 200:  001798a4        srl.w           \$a0, \$a1, \$a2
+ 204:  001818a4        sra.w           \$a0, \$a1, \$a2
+ 208:  001898a4        sll.d           \$a0, \$a1, \$a2
+ 20c:  001918a4        srl.d           \$a0, \$a1, \$a2
+ 210:  001998a4        sra.d           \$a0, \$a1, \$a2
+ 214:  001b18a4        rotr.w          \$a0, \$a1, \$a2
+ 218:  001b98a4        rotr.d          \$a0, \$a1, \$a2
+ 21c:  001c18a4        mul.w           \$a0, \$a1, \$a2
+ 220:  001c98a4        mulh.w          \$a0, \$a1, \$a2
+ 224:  001d18a4        mulh.wu         \$a0, \$a1, \$a2
+ 228:  001d98a4        mul.d           \$a0, \$a1, \$a2
+ 22c:  001e18a4        mulh.d          \$a0, \$a1, \$a2
+ 230:  001e98a4        mulh.du         \$a0, \$a1, \$a2
+ 234:  001f18a4        mulw.d.w        \$a0, \$a1, \$a2
+ 238:  001f98a4        mulw.d.wu       \$a0, \$a1, \$a2
+ 23c:  002018a4        div.w           \$a0, \$a1, \$a2
+ 240:  002098a4        mod.w           \$a0, \$a1, \$a2
+ 244:  002118a4        div.wu          \$a0, \$a1, \$a2
+ 248:  002198a4        mod.wu          \$a0, \$a1, \$a2
+ 24c:  002218a4        div.d           \$a0, \$a1, \$a2
+ 250:  002298a4        mod.d           \$a0, \$a1, \$a2
+ 254:  002318a4        div.du          \$a0, \$a1, \$a2
+ 258:  002398a4        mod.du          \$a0, \$a1, \$a2
+ 25c:  002418a4        crc.w.b.w       \$a0, \$a1, \$a2
+ 260:  002498a4        crc.w.h.w       \$a0, \$a1, \$a2
+ 264:  002518a4        crc.w.w.w       \$a0, \$a1, \$a2
+ 268:  002598a4        crc.w.d.w       \$a0, \$a1, \$a2
+ 26c:  002618a4        crcc.w.b.w      \$a0, \$a1, \$a2
+ 270:  002698a4        crcc.w.h.w      \$a0, \$a1, \$a2
+ 274:  002718a4        crcc.w.w.w      \$a0, \$a1, \$a2
+ 278:  002798a4        crcc.w.d.w      \$a0, \$a1, \$a2
+ 27c:  002a0000        break           0x0
+ 280:  002a7fff        break           0x7fff
+ 284:  002a8000        dbcl            0x0
+ 288:  002affff        dbcl            0x7fff
+ 28c:  002c18a4        alsl.d          \$a0, \$a1, \$a2, 0x1
+ 290:  002d98a4        alsl.d          \$a0, \$a1, \$a2, 0x4
+ 294:  004080a4        slli.w          \$a0, \$a1, 0x0
+ 298:  004084a4        slli.w          \$a0, \$a1, 0x1
+ 29c:  0040fca4        slli.w          \$a0, \$a1, 0x1f
+ 2a0:  004100a4        slli.d          \$a0, \$a1, 0x0
+ 2a4:  004104a4        slli.d          \$a0, \$a1, 0x1
+ 2a8:  0041fca4        slli.d          \$a0, \$a1, 0x3f
+ 2ac:  004480a4        srli.w          \$a0, \$a1, 0x0
+ 2b0:  004484a4        srli.w          \$a0, \$a1, 0x1
+ 2b4:  0044fca4        srli.w          \$a0, \$a1, 0x1f
+ 2b8:  004500a4        srli.d          \$a0, \$a1, 0x0
+ 2bc:  004504a4        srli.d          \$a0, \$a1, 0x1
+ 2c0:  0045fca4        srli.d          \$a0, \$a1, 0x3f
+ 2c4:  004880a4        srai.w          \$a0, \$a1, 0x0
+ 2c8:  004884a4        srai.w          \$a0, \$a1, 0x1
+ 2cc:  0048fca4        srai.w          \$a0, \$a1, 0x1f
+ 2d0:  004900a4        srai.d          \$a0, \$a1, 0x0
+ 2d4:  004904a4        srai.d          \$a0, \$a1, 0x1
+ 2d8:  0049fca4        srai.d          \$a0, \$a1, 0x3f
+ 2dc:  004c80a4        rotri.w         \$a0, \$a1, 0x0
+ 2e0:  004c84a4        rotri.w         \$a0, \$a1, 0x1
+ 2e4:  004cfca4        rotri.w         \$a0, \$a1, 0x1f
+ 2e8:  004d00a4        rotri.d         \$a0, \$a1, 0x0
+ 2ec:  004d04a4        rotri.d         \$a0, \$a1, 0x1
+ 2f0:  004dfca4        rotri.d         \$a0, \$a1, 0x3f
+ 2f4:  006000a4        bstrins.w       \$a0, \$a1, 0x0, 0x0
+ 2f8:  006204a4        bstrins.w       \$a0, \$a1, 0x2, 0x1
+ 2fc:  007f00a4        bstrins.w       \$a0, \$a1, 0x1f, 0x0
+ 300:  006080a4        bstrpick.w      \$a0, \$a1, 0x0, 0x0
+ 304:  006284a4        bstrpick.w      \$a0, \$a1, 0x2, 0x1
+ 308:  007f80a4        bstrpick.w      \$a0, \$a1, 0x1f, 0x0
+ 30c:  008000a4        bstrins.d       \$a0, \$a1, 0x0, 0x0
+ 310:  009f04a4        bstrins.d       \$a0, \$a1, 0x1f, 0x1
+ 314:  00a000a4        bstrins.d       \$a0, \$a1, 0x20, 0x0
+ 318:  00bf00a4        bstrins.d       \$a0, \$a1, 0x3f, 0x0
+ 31c:  00c000a4        bstrpick.d      \$a0, \$a1, 0x0, 0x0
+ 320:  00df04a4        bstrpick.d      \$a0, \$a1, 0x1f, 0x1
+ 324:  00e000a4        bstrpick.d      \$a0, \$a1, 0x20, 0x0
+ 328:  00ff00a4        bstrpick.d      \$a0, \$a1, 0x3f, 0x0
+ 32c:  200000a4        ll.w            \$a0, \$a1, 0
+ 330:  203ffca4        ll.w            \$a0, \$a1, 16380
+ 334:  210000a4        sc.w            \$a0, \$a1, 0
+ 338:  213ffca4        sc.w            \$a0, \$a1, 16380
+ 33c:  220000a4        ll.d            \$a0, \$a1, 0
+ 340:  223ffca4        ll.d            \$a0, \$a1, 16380
+ 344:  230000a4        sc.d            \$a0, \$a1, 0
+ 348:  233ffca4        sc.d            \$a0, \$a1, 16380
+ 34c:  240000a4        ldptr.w         \$a0, \$a1, 0
+ 350:  243ffca4        ldptr.w         \$a0, \$a1, 16380
+ 354:  250000a4        stptr.w         \$a0, \$a1, 0
+ 358:  253ffca4        stptr.w         \$a0, \$a1, 16380
+ 35c:  260000a4        ldptr.d         \$a0, \$a1, 0
+ 360:  263ffca4        ldptr.d         \$a0, \$a1, 16380
+ 364:  270000a4        stptr.d         \$a0, \$a1, 0
+ 368:  273ffca4        stptr.d         \$a0, \$a1, 16380
+ 36c:  280000a4        ld.b            \$a0, \$a1, 0
+ 370:  281ffca4        ld.b            \$a0, \$a1, 2047
+ 374:  282004a4        ld.b            \$a0, \$a1, -2047
+ 378:  284000a4        ld.h            \$a0, \$a1, 0
+ 37c:  285ffca4        ld.h            \$a0, \$a1, 2047
+ 380:  286004a4        ld.h            \$a0, \$a1, -2047
+ 384:  288000a4        ld.w            \$a0, \$a1, 0
+ 388:  289ffca4        ld.w            \$a0, \$a1, 2047
+ 38c:  28a004a4        ld.w            \$a0, \$a1, -2047
+ 390:  28c000a4        ld.d            \$a0, \$a1, 0
+ 394:  28dffca4        ld.d            \$a0, \$a1, 2047
+ 398:  28e004a4        ld.d            \$a0, \$a1, -2047
+ 39c:  290000a4        st.b            \$a0, \$a1, 0
+ 3a0:  291ffca4        st.b            \$a0, \$a1, 2047
+ 3a4:  292004a4        st.b            \$a0, \$a1, -2047
+ 3a8:  294000a4        st.h            \$a0, \$a1, 0
+ 3ac:  295ffca4        st.h            \$a0, \$a1, 2047
+ 3b0:  296004a4        st.h            \$a0, \$a1, -2047
+ 3b4:  298000a4        st.w            \$a0, \$a1, 0
+ 3b8:  299ffca4        st.w            \$a0, \$a1, 2047
+ 3bc:  29a004a4        st.w            \$a0, \$a1, -2047
+ 3c0:  29c000a4        st.d            \$a0, \$a1, 0
+ 3c4:  29dffca4        st.d            \$a0, \$a1, 2047
+ 3c8:  29e004a4        st.d            \$a0, \$a1, -2047
+ 3cc:  2a0000a4        ld.bu           \$a0, \$a1, 0
+ 3d0:  2a1ffca4        ld.bu           \$a0, \$a1, 2047
+ 3d4:  2a2004a4        ld.bu           \$a0, \$a1, -2047
+ 3d8:  2a4000a4        ld.hu           \$a0, \$a1, 0
+ 3dc:  2a5ffca4        ld.hu           \$a0, \$a1, 2047
+ 3e0:  2a6004a4        ld.hu           \$a0, \$a1, -2047
+ 3e4:  2a8000a4        ld.wu           \$a0, \$a1, 0
+ 3e8:  2a9ffca4        ld.wu           \$a0, \$a1, 2047
+ 3ec:  2aa004a4        ld.wu           \$a0, \$a1, -2047
+ 3f0:  2ac000a0        preld           0x0, \$a1, 0
+ 3f4:  2adffcbf        preld           0x1f, \$a1, 2047
+ 3f8:  2ae004bf        preld           0x1f, \$a1, -2047
+ 3fc:  380018a4        ldx.b           \$a0, \$a1, \$a2
+ 400:  380418a4        ldx.h           \$a0, \$a1, \$a2
+ 404:  380818a4        ldx.w           \$a0, \$a1, \$a2
+ 408:  380c18a4        ldx.d           \$a0, \$a1, \$a2
+ 40c:  381018a4        stx.b           \$a0, \$a1, \$a2
+ 410:  381418a4        stx.h           \$a0, \$a1, \$a2
+ 414:  381818a4        stx.w           \$a0, \$a1, \$a2
+ 418:  381c18a4        stx.d           \$a0, \$a1, \$a2
+ 41c:  382018a4        ldx.bu          \$a0, \$a1, \$a2
+ 420:  382418a4        ldx.hu          \$a0, \$a1, \$a2
+ 424:  382818a4        ldx.wu          \$a0, \$a1, \$a2
+ 428:  382c18a0        preldx          0x0, \$a1, \$a2
+ 42c:  382c18bf        preldx          0x1f, \$a1, \$a2
+ 430:  38720000        dbar            0x0
+ 434:  38727fff        dbar            0x7fff
+ 438:  38728000        ibar            0x0
+ 43c:  3872ffff        ibar            0x7fff
+ 440:  386014c4        amswap.w        \$a0, \$a1, \$a2
+ 444:  386018a4        amswap.w        \$a0, \$a2, \$a1
+ 448:  386094c4        amswap.d        \$a0, \$a1, \$a2
+ 44c:  386098a4        amswap.d        \$a0, \$a2, \$a1
+ 450:  386114c4        amadd.w         \$a0, \$a1, \$a2
+ 454:  386118a4        amadd.w         \$a0, \$a2, \$a1
+ 458:  386194c4        amadd.d         \$a0, \$a1, \$a2
+ 45c:  386198a4        amadd.d         \$a0, \$a2, \$a1
+ 460:  386214c4        amand.w         \$a0, \$a1, \$a2
+ 464:  386218a4        amand.w         \$a0, \$a2, \$a1
+ 468:  386294c4        amand.d         \$a0, \$a1, \$a2
+ 46c:  386298a4        amand.d         \$a0, \$a2, \$a1
+ 470:  386314c4        amor.w          \$a0, \$a1, \$a2
+ 474:  386318a4        amor.w          \$a0, \$a2, \$a1
+ 478:  386394c4        amor.d          \$a0, \$a1, \$a2
+ 47c:  386398a4        amor.d          \$a0, \$a2, \$a1
+ 480:  386414c4        amxor.w         \$a0, \$a1, \$a2
+ 484:  386418a4        amxor.w         \$a0, \$a2, \$a1
+ 488:  386494c4        amxor.d         \$a0, \$a1, \$a2
+ 48c:  386498a4        amxor.d         \$a0, \$a2, \$a1
+ 490:  386514c4        ammax.w         \$a0, \$a1, \$a2
+ 494:  386518a4        ammax.w         \$a0, \$a2, \$a1
+ 498:  386594c4        ammax.d         \$a0, \$a1, \$a2
+ 49c:  386598a4        ammax.d         \$a0, \$a2, \$a1
+ 4a0:  386614c4        ammin.w         \$a0, \$a1, \$a2
+ 4a4:  386618a4        ammin.w         \$a0, \$a2, \$a1
+ 4a8:  386694c4        ammin.d         \$a0, \$a1, \$a2
+ 4ac:  386698a4        ammin.d         \$a0, \$a2, \$a1
+ 4b0:  386714c4        ammax.wu        \$a0, \$a1, \$a2
+ 4b4:  386718a4        ammax.wu        \$a0, \$a2, \$a1
+ 4b8:  386794c4        ammax.du        \$a0, \$a1, \$a2
+ 4bc:  386798a4        ammax.du        \$a0, \$a2, \$a1
+ 4c0:  386814c4        ammin.wu        \$a0, \$a1, \$a2
+ 4c4:  386818a4        ammin.wu        \$a0, \$a2, \$a1
+ 4c8:  386894c4        ammin.du        \$a0, \$a1, \$a2
+ 4cc:  386898a4        ammin.du        \$a0, \$a2, \$a1
+ 4d0:  386914c4        amswap_db.w     \$a0, \$a1, \$a2
+ 4d4:  386918a4        amswap_db.w     \$a0, \$a2, \$a1
+ 4d8:  386994c4        amswap_db.d     \$a0, \$a1, \$a2
+ 4dc:  386998a4        amswap_db.d     \$a0, \$a2, \$a1
+ 4e0:  386a14c4        amadd_db.w      \$a0, \$a1, \$a2
+ 4e4:  386a18a4        amadd_db.w      \$a0, \$a2, \$a1
+ 4e8:  386a94c4        amadd_db.d      \$a0, \$a1, \$a2
+ 4ec:  386a98a4        amadd_db.d      \$a0, \$a2, \$a1
+ 4f0:  386b14c4        amand_db.w      \$a0, \$a1, \$a2
+ 4f4:  386b18a4        amand_db.w      \$a0, \$a2, \$a1
+ 4f8:  386b94c4        amand_db.d      \$a0, \$a1, \$a2
+ 4fc:  386b98a4        amand_db.d      \$a0, \$a2, \$a1
+ 500:  386c14c4        amor_db.w       \$a0, \$a1, \$a2
+ 504:  386c18a4        amor_db.w       \$a0, \$a2, \$a1
+ 508:  386c94c4        amor_db.d       \$a0, \$a1, \$a2
+ 50c:  386c98a4        amor_db.d       \$a0, \$a2, \$a1
+ 510:  386d14c4        amxor_db.w      \$a0, \$a1, \$a2
+ 514:  386d18a4        amxor_db.w      \$a0, \$a2, \$a1
+ 518:  386d94c4        amxor_db.d      \$a0, \$a1, \$a2
+ 51c:  386d98a4        amxor_db.d      \$a0, \$a2, \$a1
+ 520:  386e14c4        ammax_db.w      \$a0, \$a1, \$a2
+ 524:  386e18a4        ammax_db.w      \$a0, \$a2, \$a1
+ 528:  386e94c4        ammax_db.d      \$a0, \$a1, \$a2
+ 52c:  386e98a4        ammax_db.d      \$a0, \$a2, \$a1
+ 530:  386f14c4        ammin_db.w      \$a0, \$a1, \$a2
+ 534:  386f18a4        ammin_db.w      \$a0, \$a2, \$a1
+ 538:  386f94c4        ammin_db.d      \$a0, \$a1, \$a2
+ 53c:  386f98a4        ammin_db.d      \$a0, \$a2, \$a1
+ 540:  387014c4        ammax_db.wu     \$a0, \$a1, \$a2
+ 544:  387018a4        ammax_db.wu     \$a0, \$a2, \$a1
+ 548:  387094c4        ammax_db.du     \$a0, \$a1, \$a2
+ 54c:  387098a4        ammax_db.du     \$a0, \$a2, \$a1
+ 550:  387114c4        ammin_db.wu     \$a0, \$a1, \$a2
+ 554:  387118a4        ammin_db.wu     \$a0, \$a2, \$a1
+ 558:  387194c4        ammin_db.du     \$a0, \$a1, \$a2
+ 55c:  387198a4        ammin_db.du     \$a0, \$a2, \$a1
+ 560:  387818a4        ldgt.b          \$a0, \$a1, \$a2
+ 564:  387898a4        ldgt.h          \$a0, \$a1, \$a2
+ 568:  387918a4        ldgt.w          \$a0, \$a1, \$a2
+ 56c:  387998a4        ldgt.d          \$a0, \$a1, \$a2
+ 570:  387a18a4        ldle.b          \$a0, \$a1, \$a2
+ 574:  387a98a4        ldle.h          \$a0, \$a1, \$a2
+ 578:  387b18a4        ldle.w          \$a0, \$a1, \$a2
+ 57c:  387b98a4        ldle.d          \$a0, \$a1, \$a2
+ 580:  387c18a4        stgt.b          \$a0, \$a1, \$a2
+ 584:  387c98a4        stgt.h          \$a0, \$a1, \$a2
+ 588:  387d18a4        stgt.w          \$a0, \$a1, \$a2
+ 58c:  387d98a4        stgt.d          \$a0, \$a1, \$a2
+ 590:  387e18a4        stle.b          \$a0, \$a1, \$a2
+ 594:  387e98a4        stle.h          \$a0, \$a1, \$a2
+ 598:  387f18a4        stle.w          \$a0, \$a1, \$a2
+ 59c:  387f98a4        stle.d          \$a0, \$a1, \$a2
+ 5a0:  385714c4        sc.q            \$a0, \$a1, \$a2
+ 5a4:  385714c4        sc.q            \$a0, \$a1, \$a2
+ 5a8:  385780a4        llacq.w         \$a0, \$a1
+ 5ac:  385780a4        llacq.w         \$a0, \$a1
+ 5b0:  385784a4        screl.w         \$a0, \$a1
+ 5b4:  385784a4        screl.w         \$a0, \$a1
+ 5b8:  385788a4        llacq.d         \$a0, \$a1
+ 5bc:  385788a4        llacq.d         \$a0, \$a1
+ 5c0:  38578ca4        screl.d         \$a0, \$a1
+ 5c4:  38578ca4        screl.d         \$a0, \$a1
+ 5c8:  385814c4        amcas.b         \$a0, \$a1, \$a2
+ 5cc:  385818a4        amcas.b         \$a0, \$a2, \$a1
+ 5d0:  385894c4        amcas.h         \$a0, \$a1, \$a2
+ 5d4:  385898a4        amcas.h         \$a0, \$a2, \$a1
+ 5d8:  385914c4        amcas.w         \$a0, \$a1, \$a2
+ 5dc:  385918a4        amcas.w         \$a0, \$a2, \$a1
+ 5e0:  385994c4        amcas.d         \$a0, \$a1, \$a2
+ 5e4:  385998a4        amcas.d         \$a0, \$a2, \$a1
+ 5e8:  385a14c4        amcas_db.b      \$a0, \$a1, \$a2
+ 5ec:  385a18a4        amcas_db.b      \$a0, \$a2, \$a1
+ 5f0:  385a94c4        amcas_db.h      \$a0, \$a1, \$a2
+ 5f4:  385a98a4        amcas_db.h      \$a0, \$a2, \$a1
+ 5f8:  385b14c4        amcas_db.w      \$a0, \$a1, \$a2
+ 5fc:  385b18a4        amcas_db.w      \$a0, \$a2, \$a1
+ 600:  385b94c4        amcas_db.d      \$a0, \$a1, \$a2
+ 604:  385b98a4        amcas_db.d      \$a0, \$a2, \$a1
+ 608:  385c14c4        amswap.b        \$a0, \$a1, \$a2
+ 60c:  385c18a4        amswap.b        \$a0, \$a2, \$a1
+ 610:  385c94c4        amswap.h        \$a0, \$a1, \$a2
+ 614:  385c98a4        amswap.h        \$a0, \$a2, \$a1
+ 618:  385d14c4        amadd.b         \$a0, \$a1, \$a2
+ 61c:  385d18a4        amadd.b         \$a0, \$a2, \$a1
+ 620:  385d94c4        amadd.h         \$a0, \$a1, \$a2
+ 624:  385d98a4        amadd.h         \$a0, \$a2, \$a1
+ 628:  385e14c4        amswap_db.b     \$a0, \$a1, \$a2
+ 62c:  385e18a4        amswap_db.b     \$a0, \$a2, \$a1
+ 630:  385e94c4        amswap_db.h     \$a0, \$a1, \$a2
+ 634:  385e98a4        amswap_db.h     \$a0, \$a2, \$a1
+ 638:  385f14c4        amadd_db.b      \$a0, \$a1, \$a2
+ 63c:  385f18a4        amadd_db.b      \$a0, \$a2, \$a1
+ 640:  385f94c4        amadd_db.h      \$a0, \$a1, \$a2
+ 644:  385f98a4        amadd_db.h      \$a0, \$a2, \$a1
+
+0+648 <.L1>:
+ 648:  03400000        andi            \$zero, \$zero, 0x0
+ 64c:  43fffc9f        beqz            \$a0, -4        # 648 <.L1>
+ 650:  47fff89f        bnez            \$a0, -8        # 648 <.L1>
+ 654:  53fff7ff        b               -12     # 648 <.L1>
+ 658:  57fff3ff        bl              -16     # 648 <.L1>
+ 65c:  5bffec85        beq             \$a0, \$a1, -20 # 648 <.L1>
+ 660:  5fffe885        bne             \$a0, \$a1, -24 # 648 <.L1>
+ 664:  63ffe485        blt             \$a0, \$a1, -28 # 648 <.L1>
+ 668:  63ffe0a4        blt             \$a1, \$a0, -32 # 648 <.L1>
+ 66c:  67ffdc85        bge             \$a0, \$a1, -36 # 648 <.L1>
+ 670:  67ffd8a4        bge             \$a1, \$a0, -40 # 648 <.L1>
+ 674:  6bffd485        bltu            \$a0, \$a1, -44 # 648 <.L1>
+ 678:  6bffd0a4        bltu            \$a1, \$a0, -48 # 648 <.L1>
+ 67c:  6fffcc85        bgeu            \$a0, \$a1, -52 # 648 <.L1>
+ 680:  6fffc8a4        bgeu            \$a1, \$a0, -56 # 648 <.L1>
+ 684:  4c000080        jirl            \$zero, \$a0, 0
diff --git a/gas/testsuite/gas/loongarch/insn_int64.s b/gas/testsuite/gas/loongarch/insn_int64.s
new file mode 100644 (file)
index 0000000..f808951
--- /dev/null
@@ -0,0 +1,440 @@
+# imm_op
+slti  $r4,$r5,0
+slti  $r4,$r5,0x7ff
+slti  $r4,$r5,-0x7ff
+sltui  $r4,$r5,0
+sltui  $r4,$r5,0x7ff
+sltui  $r4,$r5,-0x7ff
+addi.w  $r4,$r5,0
+addi.w  $r4,$r5,0x7ff
+addi.w  $r4,$r5,-0x7ff
+addi.d  $r4,$r5,0
+addi.d  $r4,$r5,0x7ff
+addi.d  $r4,$r5,-0x7ff
+lu52i.d  $r4,$r5,0
+lu52i.d  $r4,$r5,0x7ff
+lu52i.d  $r4,$r5,-0x7ff
+andi  $r4,$r5,0
+andi  $r4,$r5,0x7ff
+ori  $r4,$r5,0
+ori  $r4,$r5,0x7ff
+xori  $r4,$r5,0
+xori  $r4,$r5,0x7ff
+addu16i.d  $r4,$r5,0
+addu16i.d  $r4,$r5,0x7fff
+addu16i.d  $r4,$r5,-0x7fff
+lu12i.w  $r4,0
+lu12i.w  $r4,0x7ffff
+lu32i.d  $r4,-0x7ffff
+pcaddi  $r4,0
+pcaddi  $r4,0x7ffff
+pcaddi  $r4,-0x80000
+pcalau12i  $r4,0
+pcalau12i  $r4,0x7ffff
+pcalau12i  $r4,-0x7ffff
+pcaddu12i  $r4,0
+pcaddu12i  $r4,0x7ffff
+pcaddu12i  $r4,-0x7ffff
+pcaddu18i  $r4,0
+pcaddu18i  $r4,0x7ffff
+pcaddu18i  $r4,-0x7ffff
+
+# imm_ins
+.equ a, 0x123
+.equ b, 0xfffff00000
+.equ c, 0xfffffffffff
+.equ d, 2
+.equ e,0x100
+
+alsl.w $r11,$r12,$r13,d
+alsl.wu $r11,$r12,$r13,d
+bytepick.w $r11,$r12,$r13,d
+bytepick.d $r11,$r12,$r13,d
+
+break d
+dbcl d
+syscall d
+
+alsl.d $r11,$r12, $r13,d
+slli.w $r11,$r12,d
+slli.d $r11,$r12,d
+srli.w $r11,$r12,d
+srli.d $r12,$r13,d
+srai.w $r12,$r13,d
+srai.d $r12,$r13,d
+
+bstrins.w $r12,$r13,d,d
+bstrins.d $r12,$r13,d,d
+bstrpick.d $r12,$r13,d,d
+bstrpick.d $r12,$r13,d,d
+
+slti $r12,$r13,a
+sltui $r12,$r13,a
+addi.w $r12,$r13,a
+addi.d $r12,$r13,a
+lu52i.d $r12,$r13,a
+andi $r12,$r13,d
+ori  $r12,$r13,d
+xori $r12,$r13,d
+addu16i.d $r12,$r13,d
+lu12i.w $r12,a
+lu32i.d $r12,a
+pcaddi $r12,a
+pcalau12i $r12,a
+pcaddu12i $r12,a
+pcaddu18i $r12,a
+
+csrrd $r12,a
+csrwr $r12,a
+csrxchg $r12,$r13,d
+cacop d,$r13,d
+lddir $r12,$r13,d
+ldpte $r12,d
+
+invtlb d,$r13,$r14
+
+# fix_op
+clo.w  $r4,$r5
+clz.w  $r4,$r5
+cto.w  $r4,$r5
+ctz.w  $r4,$r5
+clo.d  $r4,$r5
+clz.d  $r4,$r5
+cto.d  $r4,$r5
+ctz.d  $r4,$r5
+revb.2h  $r4,$r5
+revb.4h  $r4,$r5
+revb.2w  $r4,$r5
+revb.d  $r4,$r5
+revh.2w  $r4,$r5
+revh.d  $r4,$r5
+bitrev.4b  $r4,$r5
+bitrev.8b  $r4,$r5
+bitrev.w  $r4,$r5
+bitrev.d  $r4,$r5
+ext.w.h  $r4,$r5
+ext.w.b  $r4,$r5
+rdtimel.w  $r4,$r5
+rdtimeh.w  $r4,$r5
+rdtime.d  $r4,$r5
+cpucfg  $r4,$r5
+asrtle.d  $r5,$r6
+asrtgt.d  $r5,$r6
+alsl.w  $r4,$r5,$r6,1
+alsl.w  $r4,$r5,$r6,4
+alsl.wu  $r4,$r5,$r6,1
+alsl.wu  $r4,$r5,$r6,4
+bytepick.w  $r4,$r5,$r6,0
+bytepick.w  $r4,$r5,$r6,3
+bytepick.d  $r4,$r5,$r6,0
+bytepick.d  $r4,$r5,$r6,7
+add.w  $r4,$r5,$r6
+add.d  $r4,$r5,$r6
+sub.w  $r4,$r5,$r6
+sub.d  $r4,$r5,$r6
+slt  $r4,$r5,$r6
+sltu  $r4,$r5,$r6
+maskeqz  $r4,$r5,$r6
+masknez  $r4,$r5,$r6
+nor  $r4,$r5,$r6
+and  $r4,$r5,$r6
+or  $r4,$r5,$r6
+xor  $r4,$r5,$r6
+orn  $r4,$r5,$r6
+andn  $r4,$r5,$r6
+
+# load_store
+sll.w  $r4,$r5,$r6
+srl.w  $r4,$r5,$r6
+sra.w  $r4,$r5,$r6
+sll.d  $r4,$r5,$r6
+srl.d  $r4,$r5,$r6
+sra.d  $r4,$r5,$r6
+rotr.w  $r4,$r5,$r6
+rotr.d  $r4,$r5,$r6
+mul.w  $r4,$r5,$r6
+mulh.w  $r4,$r5,$r6
+mulh.wu  $r4,$r5,$r6
+mul.d  $r4,$r5,$r6
+mulh.d  $r4,$r5,$r6
+mulh.du  $r4,$r5,$r6
+mulw.d.w  $r4,$r5,$r6
+mulw.d.wu  $r4,$r5,$r6
+div.w  $r4,$r5,$r6
+mod.w  $r4,$r5,$r6
+div.wu  $r4,$r5,$r6
+mod.wu  $r4,$r5,$r6
+div.d  $r4,$r5,$r6
+mod.d  $r4,$r5,$r6
+div.du  $r4,$r5,$r6
+mod.du  $r4,$r5,$r6
+crc.w.b.w  $r4,$r5,$r6
+crc.w.h.w  $r4,$r5,$r6
+crc.w.w.w  $r4,$r5,$r6
+crc.w.d.w  $r4,$r5,$r6
+crcc.w.b.w  $r4,$r5,$r6
+crcc.w.h.w  $r4,$r5,$r6
+crcc.w.w.w  $r4,$r5,$r6
+crcc.w.d.w  $r4,$r5,$r6
+break  0
+break  0x7fff
+dbcl   0
+dbcl   0x7fff
+alsl.d  $r4,$r5,$r6,1
+alsl.d  $r4,$r5,$r6,4
+slli.w  $r4,$r5,0
+slli.w  $r4,$r5,1
+slli.w  $r4,$r5,0x1f
+slli.d  $r4,$r5,0
+slli.d  $r4,$r5,1
+slli.d  $r4,$r5,0x3f
+srli.w  $r4,$r5,0
+srli.w  $r4,$r5,1
+srli.w  $r4,$r5,0x1f
+srli.d  $r4,$r5,0
+srli.d  $r4,$r5,1
+srli.d  $r4,$r5,0x3f
+srai.w  $r4,$r5,0
+srai.w  $r4,$r5,1
+srai.w  $r4,$r5,0x1f
+srai.d  $r4,$r5,0
+srai.d  $r4,$r5,1
+srai.d  $r4,$r5,0x3f
+rotri.w  $r4,$r5,0
+rotri.w  $r4,$r5,1
+rotri.w  $r4,$r5,0x1f
+rotri.d  $r4,$r5,0
+rotri.d  $r4,$r5,1
+rotri.d  $r4,$r5,0x3f
+bstrins.w  $r4,$r5,0,0
+bstrins.w  $r4,$r5,2,1
+bstrins.w  $r4,$r5,31,0
+bstrpick.w  $r4,$r5,0,0
+bstrpick.w  $r4,$r5,2,1
+bstrpick.w  $r4,$r5,31,0
+bstrins.d  $r4,$r5,0,0
+bstrins.d  $r4,$r5,31,1
+bstrins.d  $r4,$r5,32,0
+bstrins.d  $r4,$r5,63,0
+bstrpick.d  $r4,$r5,0,0
+bstrpick.d  $r4,$r5,31,1
+bstrpick.d  $r4,$r5,32,0
+bstrpick.d  $r4,$r5,63,0
+ll.w  $r4,$r5,0
+ll.w  $r4,$r5,0x3ffc
+sc.w  $r4,$r5,0
+sc.w  $r4,$r5,0x3ffc
+ll.d  $r4,$r5,0
+ll.d  $r4,$r5,0x3ffc
+sc.d  $r4,$r5,0
+sc.d  $r4,$r5,0x3ffc
+ldptr.w  $r4,$r5,0
+ldptr.w  $r4,$r5,0x3ffc
+stptr.w  $r4,$r5,0
+stptr.w  $r4,$r5,0x3ffc
+ldptr.d  $r4,$r5,0
+ldptr.d  $r4,$r5,0x3ffc
+stptr.d  $r4,$r5,0
+stptr.d  $r4,$r5,0x3ffc
+ld.b  $r4,$r5,0
+ld.b  $r4,$r5,0x7ff
+ld.b  $r4,$r5,-0x7ff
+ld.h  $r4,$r5,0
+ld.h  $r4,$r5,0x7ff
+ld.h  $r4,$r5,-0x7ff
+ld.w  $r4,$r5,0
+ld.w  $r4,$r5,0x7ff
+ld.w  $r4,$r5,-0x7ff
+ld.d  $r4,$r5,0
+ld.d  $r4,$r5,0x7ff
+ld.d  $r4,$r5,-0x7ff
+st.b  $r4,$r5,0
+st.b  $r4,$r5,0x7ff
+st.b  $r4,$r5,-0x7ff
+st.h  $r4,$r5,0
+st.h  $r4,$r5,0x7ff
+st.h  $r4,$r5,-0x7ff
+st.w  $r4,$r5,0
+st.w  $r4,$r5,0x7ff
+st.w  $r4,$r5,-0x7ff
+st.d  $r4,$r5,0
+st.d  $r4,$r5,0x7ff
+st.d  $r4,$r5,-0x7ff
+ld.bu  $r4,$r5,0
+ld.bu  $r4,$r5,0x7ff
+ld.bu  $r4,$r5,-0x7ff
+ld.hu  $r4,$r5,0
+ld.hu  $r4,$r5,0x7ff
+ld.hu  $r4,$r5,-0x7ff
+ld.wu  $r4,$r5,0
+ld.wu  $r4,$r5,0x7ff
+ld.wu  $r4,$r5,-0x7ff
+preld  0,$r5,0
+preld  31,$r5,0x7ff
+preld  31,$r5,-0x7ff
+ldx.b  $r4,$r5,$r6
+ldx.h  $r4,$r5,$r6
+ldx.w  $r4,$r5,$r6
+ldx.d  $r4,$r5,$r6
+stx.b  $r4,$r5,$r6
+stx.h  $r4,$r5,$r6
+stx.w  $r4,$r5,$r6
+stx.d  $r4,$r5,$r6
+ldx.bu  $r4,$r5,$r6
+ldx.hu  $r4,$r5,$r6
+ldx.wu  $r4,$r5,$r6
+preldx  0,$r5,$r6
+preldx  31,$r5,$r6
+dbar  0
+dbar  0x7fff
+ibar  0
+ibar  0x7fff
+amswap.w  $r4,$r5,$r6,0
+amswap.w  $r4,$r6,$r5
+amswap.d  $r4,$r5,$r6,0
+amswap.d  $r4,$r6,$r5
+amadd.w  $r4,$r5,$r6,0
+amadd.w  $r4,$r6,$r5
+amadd.d  $r4,$r5,$r6,0
+amadd.d  $r4,$r6,$r5
+amand.w  $r4,$r5,$r6,0
+amand.w  $r4,$r6,$r5
+amand.d  $r4,$r5,$r6,0
+amand.d  $r4,$r6,$r5
+amor.w  $r4,$r5,$r6,0
+amor.w  $r4,$r6,$r5
+amor.d  $r4,$r5,$r6,0
+amor.d  $r4,$r6,$r5
+amxor.w  $r4,$r5,$r6,0
+amxor.w  $r4,$r6,$r5
+amxor.d  $r4,$r5,$r6,0
+amxor.d  $r4,$r6,$r5
+ammax.w  $r4,$r5,$r6,0
+ammax.w  $r4,$r6,$r5
+ammax.d  $r4,$r5,$r6,0
+ammax.d  $r4,$r6,$r5
+ammin.w  $r4,$r5,$r6,0
+ammin.w  $r4,$r6,$r5
+ammin.d  $r4,$r5,$r6,0
+ammin.d  $r4,$r6,$r5
+ammax.wu  $r4,$r5,$r6,0
+ammax.wu  $r4,$r6,$r5
+ammax.du  $r4,$r5,$r6,0
+ammax.du  $r4,$r6,$r5
+ammin.wu  $r4,$r5,$r6,0
+ammin.wu  $r4,$r6,$r5
+ammin.du  $r4,$r5,$r6,0
+ammin.du  $r4,$r6,$r5
+amswap_db.w  $r4,$r5,$r6,0
+amswap_db.w  $r4,$r6,$r5
+amswap_db.d  $r4,$r5,$r6,0
+amswap_db.d  $r4,$r6,$r5
+amadd_db.w  $r4,$r5,$r6,0
+amadd_db.w  $r4,$r6,$r5
+amadd_db.d  $r4,$r5,$r6,0
+amadd_db.d  $r4,$r6,$r5
+amand_db.w  $r4,$r5,$r6,0
+amand_db.w  $r4,$r6,$r5
+amand_db.d  $r4,$r5,$r6,0
+amand_db.d  $r4,$r6,$r5
+amor_db.w  $r4,$r5,$r6,0
+amor_db.w  $r4,$r6,$r5
+amor_db.d  $r4,$r5,$r6,0
+amor_db.d  $r4,$r6,$r5
+amxor_db.w  $r4,$r5,$r6,0
+amxor_db.w  $r4,$r6,$r5
+amxor_db.d  $r4,$r5,$r6,0
+amxor_db.d  $r4,$r6,$r5
+ammax_db.w  $r4,$r5,$r6,0
+ammax_db.w  $r4,$r6,$r5
+ammax_db.d  $r4,$r5,$r6,0
+ammax_db.d  $r4,$r6,$r5
+ammin_db.w  $r4,$r5,$r6,0
+ammin_db.w  $r4,$r6,$r5
+ammin_db.d  $r4,$r5,$r6,0
+ammin_db.d  $r4,$r6,$r5
+ammax_db.wu  $r4,$r5,$r6,0
+ammax_db.wu  $r4,$r6,$r5
+ammax_db.du  $r4,$r5,$r6,0
+ammax_db.du  $r4,$r6,$r5
+ammin_db.wu  $r4,$r5,$r6,0
+ammin_db.wu  $r4,$r6,$r5
+ammin_db.du  $r4,$r5,$r6,0
+ammin_db.du  $r4,$r6,$r5
+ldgt.b  $r4,$r5,$r6
+ldgt.h  $r4,$r5,$r6
+ldgt.w  $r4,$r5,$r6
+ldgt.d  $r4,$r5,$r6
+ldle.b  $r4,$r5,$r6
+ldle.h  $r4,$r5,$r6
+ldle.w  $r4,$r5,$r6
+ldle.d  $r4,$r5,$r6
+stgt.b  $r4,$r5,$r6
+stgt.h  $r4,$r5,$r6
+stgt.w  $r4,$r5,$r6
+stgt.d  $r4,$r5,$r6
+stle.b  $r4,$r5,$r6
+stle.h  $r4,$r5,$r6
+stle.w  $r4,$r5,$r6
+stle.d  $r4,$r5,$r6
+sc.q  $r4,$r5,$r6,0
+sc.q  $r4,$r5,$r6
+llacq.w  $r4,$r5,0
+llacq.w  $r4,$r5
+screl.w  $r4,$r5,0
+screl.w  $r4,$r5
+llacq.d  $r4,$r5,0
+llacq.d  $r4,$r5
+screl.d  $r4,$r5,0
+screl.d  $r4,$r5
+amcas.b  $r4,$r5,$r6,0
+amcas.b  $r4,$r6,$r5
+amcas.h  $r4,$r5,$r6,0
+amcas.h  $r4,$r6,$r5
+amcas.w  $r4,$r5,$r6,0
+amcas.w  $r4,$r6,$r5
+amcas.d  $r4,$r5,$r6,0
+amcas.d  $r4,$r6,$r5
+amcas_db.b  $r4,$r5,$r6,0
+amcas_db.b  $r4,$r6,$r5
+amcas_db.h  $r4,$r5,$r6,0
+amcas_db.h  $r4,$r6,$r5
+amcas_db.w  $r4,$r5,$r6,0
+amcas_db.w  $r4,$r6,$r5
+amcas_db.d  $r4,$r5,$r6,0
+amcas_db.d  $r4,$r6,$r5
+amswap.b  $r4,$r5,$r6,0
+amswap.b  $r4,$r6,$r5
+amswap.h  $r4,$r5,$r6,0
+amswap.h  $r4,$r6,$r5
+amadd.b  $r4,$r5,$r6,0
+amadd.b  $r4,$r6,$r5
+amadd.h  $r4,$r5,$r6,0
+amadd.h  $r4,$r6,$r5
+amswap_db.b  $r4,$r5,$r6,0
+amswap_db.b  $r4,$r6,$r5
+amswap_db.h  $r4,$r5,$r6,0
+amswap_db.h  $r4,$r6,$r5
+amadd_db.b  $r4,$r5,$r6,0
+amadd_db.b  $r4,$r6,$r5
+amadd_db.h  $r4,$r5,$r6,0
+amadd_db.h  $r4,$r6,$r5
+
+# jmp_op
+.L1:
+nop
+beqz  $r4,.L1
+bnez  $r4,.L1
+b  .L1
+bl  .L1
+beq $r4,$r5,.L1
+bne $r4,$r5,.L1
+blt $r4,$r5,.L1
+bgt $r4,$r5,.L1
+bge $r4,$r5,.L1
+ble $r4,$r5,.L1
+bltu  $r4,$r5,.L1
+bgtu  $r4,$r5,.L1
+bgeu  $r4,$r5,.L1
+bleu  $r4,$r5,.L1
+jirl  $zero,$r4,0