| ! Various straightforward insn tests, one per insns basic insn format. |
| ! No insns with strange relocs. The insns are from the alphabetical list |
| ! in SH-5/ST50-023-04. |
| |
| .text |
| start: |
| add r3,r25,r43 |
| add.l r13,r2,r62 |
| addi r44,500,r33 |
| addi.l r21,-500,r43 |
| addz.l r51,r42,r30 |
| alloco r19,960 |
| and r8,r57,r12 |
| andc r48,r35,r18 |
| andi r24,509,r38 |
| beq r23,r37,tr2 |
| beq/l r23,r27,tr4 |
| beq/u r3,r47,tr6 |
| beqi r4,30,tr5 |
| beqi/l r4,-31,tr0 |
| beqi/u r54,-23,tr2 |
| bge r0,r63,tr7 |
| bge/l r10,r6,tr4 |
| bge/u r11,r36,tr1 |
| bgeu r30,r43,tr3 |
| bgeu/l r10,r26,tr5 |
| bgeu/u r51,r36,tr2 |
| bgt r33,r44,tr7 |
| bgt/l r17,r62,tr4 |
| bgt/u r15,r6,tr1 |
| bgtu r34,r27,tr6 |
| bgtu/l r28,r62,tr0 |
| bgtu/u r18,r25,tr5 |
| blink tr1,r38 |
| bne r62,r47,tr0 |
| bne/l r29,r22,tr1 |
| bne/u r39,r47,tr6 |
| bnei r14,-13,tr7 |
| bnei/l r24,31,tr3 |
| bnei/u r54,-22,tr2 |
| brk |
| byterev r21,r12 |
| cmpeq r10,r11,r21 |
| cmpgt r30,r31,r51 |
| cmpgtu r23,r33,r45 |
| cmveq r32,r3,r44 |
| cmvne r13,r60,r4 |
| fabs.d dr22,dr62 |
| fabs.s fr59,fr25 |
| fadd.d dr40,dr60,dr20 |
| fadd.s fr41,fr59,fr19 |
| fcmpeq.d dr4,dr50,r57 |
| fcmpeq.s fr47,fr30,r17 |
| fcmpge.d dr44,dr52,r20 |
| fcmpge.s fr37,fr23,r32 |
| fcmpgt.d dr20,dr28,r51 |
| fcmpgt.s fr47,fr21,r22 |
| fcmpun.d dr32,dr58,r47 |
| fcmpun.s fr21,fr42,r12 |
| fcnv.ds dr40,fr21 |
| fcnv.sd fr43,dr32 |
| fdiv.d dr34,dr56,dr20 |
| fdiv.s fr13,fr26,fr19 |
| fgetscr fr39 |
| fipr.s fv0,fv8,fr39 |
| fld.d r31,2000,dr48 |
| fld.p r53,-3000,fp38 |
| fld.s r53,2036,fr53 |
| fldx.d r23,r42,dr2 |
| fldx.p r2,r22,fp32 |
| fldx.s r27,r58,fr12 |
| float.ld fr5,dr28 |
| float.ls fr55,fr36 |
| float.qd dr44,dr16 |
| float.qs dr30,fr11 |
| fmac.s fr40,fr37,fr4 |
| fmov.d dr8,dr40 |
| fmov.dq dr58,r34 |
| fmov.ls r25,fr52 |
| fmov.qd r45,dr50 |
| fmov.s fr4,fr55 |
| fmov.sl fr14,r15 |
| fmul.d dr24,dr58,dr42 |
| fmul.s fr27,fr32,fr34 |
| fneg.d dr2,dr0 |
| fneg.s fr0,fr33 |
| fputscr fr44 |
| fsqrt.d dr30,dr44 |
| fsqrt.s fr3,fr23 |
| fst.d r3,4000,dr2 |
| fst.p r54,-4008,fp12 |
| fst.s r18,-2012,fr23 |
| fstx.d r18,r46,dr12 |
| fstx.p r38,r26,fp52 |
| fstx.s r7,r23,fr26 |
| fsub.d dr0,dr44,dr32 |
| fsub.s fr3,fr62,fr3 |
| ftrc.dl dr38,fr53 |
| ftrc.sl fr58,fr49 |
| ftrc.dq dr14,dr26 |
| ftrc.sq fr60,dr22 |
| ftrv.s mtrx16,fv32,fv28 |
| getcfg r5,-11,r62 |
| getcon cr52,r16 |
| gettr tr6,r26 |
| icbi r48,-960 |
| ld.b r50,3,r62 |
| ld.l r5,-604,r22 |
| ld.q r35,-1608,r42 |
| ld.ub r53,-201,r2 |
| ld.uw r23,-402,r42 |
| ld.w r46,302,r11 |
| ldhi.l r6,-30,r41 |
| ldhi.q r36,31,r31 |
| ldlo.l r19,20,r48 |
| ldlo.q r9,-32,r29 |
| ldx.b r5,r3,r47 |
| ldx.l r25,r43,r14 |
| ldx.q r12,r60,r41 |
| ldx.ub r13,r0,r1 |
| ldx.uw r13,r2,r17 |
| ldx.w r10,r22,r60 |
| mabs.l r7,r33 |
| mabs.w r37,r34 |
| madd.l r34,r32,r7 |
| madd.w r23,r53,r17 |
| madds.l r24,r23,r9 |
| madds.ub r34,r23,r49 |
| madds.w r4,r2,r59 |
| mcmpeq.b r22,r56,r31 |
| mcmpeq.l r21,r45,r61 |
| mcmpeq.w r32,r54,r1 |
| mcmpgt.l r3,r4,r19 |
| mcmpgt.ub r34,r54,r13 |
| mcmpgt.w r23,r5,r3 |
| mcmv r62,r50,r30 |
| mcnvs.lw r2,r5,r0 |
| mcnvs.wb r21,r7,r10 |
| mcnvs.wub r23,r47,r13 |
| mextr1 r4,r41,r7 |
| mextr2 r32,r4,r47 |
| mextr3 r25,r46,r27 |
| mextr4 r52,r6,r2 |
| mextr5 r21,r16,r21 |
| mextr6 r24,r62,r42 |
| mextr7 r57,r46,r23 |
| mmacfx.wl r5,r4,r2 |
| mmacnfx.wl r11,r44,r22 |
| mmul.l r22,r33,r44 |
| mmul.w r12,r35,r47 |
| mmulfx.l r61,r37,r48 |
| mmulfx.w r1,r7,r5 |
| mmulfxrp.w r10,r37,r50 |
| mmulhi.wl r0,r7,r55 |
| mmullo.wl r10,r27,r35 |
| mmulsum.wq r41,r32,r37 |
| movi -123,r43 |
| mperm.w r57,r32,r4 |
| msad.ubq r5,r23,r20 |
| mshalds.l r35,r12,r20 |
| mshalds.w r43,r52,r30 |
| mshard.l r4,r23,r40 |
| mshard.w r24,r62,r10 |
| mshards.q r2,r16,r50 |
| mshfhi.b r42,r6,r60 |
| mshfhi.l r52,r18,r59 |
| mshfhi.w r8,r31,r46 |
| mshflo.b r28,r39,r41 |
| mshflo.l r29,r38,r43 |
| mshflo.w r30,r37,r44 |
| mshlld.l r31,r36,r46 |
| mshlld.w r32,r35,r47 |
| mshlrd.l r33,r34,r49 |
| mshlrd.w r34,r33,r50 |
| msub.l r35,r32,r52 |
| msub.w r36,r31,r53 |
| msubs.l r37,r30,r55 |
| msubs.ub r38,r29,r56 |
| msubs.w r39,r28,r58 |
| mulu.l r61,r41,r26 |
| nop |
| nsb r60,r42 |
| ocbi r43,-992 |
| ocbp r40,-1024 |
| ocbwb r44,992 |
| or r59,r3,r40 |
| ori r58,313,r40 |
| prefi r57,-32 |
| ! Note: pta, ptb are not here. |
| ptabs r56,tr6 |
| ptabs/l r63,tr6 |
| ptabs/u r60,tr6 |
| ptrel r55,tr3 |
| ptrel/l r15,tr3 |
| ptrel/u r63,tr3 |
| putcfg r41,-11,r62 |
| putcon r40,cr30 |
| rte |
| shard r50,r42,r19 |
| shard.l r52,r41,r20 |
| shari r53,40,r21 |
| shari.l r55,39,r22 |
| shlld r56,r38,r23 |
| shlld.l r57,r37,r24 |
| shlli r60,36,r25 |
| shlli.l r61,31,r26 |
| shlrd r63,r34,r27 |
| shlrd.l r0,r33,r28 |
| shlri r2,32,r29 |
| shlri.l r3,31,r30 |
| shori 65500,r13 |
| sleep |
| st.b r5,501,r29 |
| st.l r6,1996,r31 |
| st.q r7,4008,r32 |
| st.w r9,1002,r33 |
| sthi.l r10,-20,r43 |
| sthi.q r12,23,r44 |
| stlo.l r13,-27,r45 |
| stlo.q r15,21,r46 |
| stx.b r16,r29,r47 |
| stx.l r17,r50,r48 |
| stx.q r19,r49,r49 |
| stx.w r20,r15,r50 |
| sub r22,r29,r51 |
| sub.l r23,r28,r52 |
| swap.q r25,r27,r53 |
| synci |
| synco |
| trapa r26 |
| xor r28,r26,r54 |
| xori r29,31,r55 |
| muls.l r7,r53,r17 |