================ @@ -0,0 +1,1440 @@ +// NOTE: Assertions have been autogenerated by utils/update_mc_test_checks.py UTC_ARGS: --tool ./llvm-objdump --version 5 +# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-p -riscv-no-aliases -show-encoding \ +# RUN: | FileCheck -check-prefixes=CHECK-ASM %s + +clz a0, a1 +// CHECK-ASM: clz a0, a1 # encoding: [0x13,0x95,0x05,0x60] + +cls a1, a2 +// CHECK-ASM: cls a1, a2 # encoding: [0x93,0x15,0x36,0x60] + +sext.b a2, a3 +// CHECK-ASM: sext.b a2, a3 # encoding: [0x13,0x96,0x46,0x60] + +sext.h t0, t1 +// CHECK-ASM: sext.h t0, t1 # encoding: [0x93,0x12,0x53,0x60] + +abs a4, a5 +// CHECK-ASM: abs a4, a5 # encoding: [0x13,0x97,0x77,0x60] + +rev8 s0, s1 +// CHECK-ASM: rev8 s0, s1 # encoding: [0x13,0xd4,0x84,0x69] + +rev s2, s3 +// CHECK-ASM: rev s2, s3 # encoding: [0x13,0xd9,0xf9,0x69] + +sh1add a0, a1, a2 +// CHECK-ASM: sh1add a0, a1, a2 # encoding: [0x33,0xa5,0xc5,0x20] + +pack s0, s1, s2 +// CHECK-ASM: pack s0, s1, s2 # encoding: [0x33,0xc4,0x24,0x09] + +min t0, t1, t2 +// CHECK-ASM: min t0, t1, t2 # encoding: [0xb3,0x42,0x73,0x0a] + +minu x1, x2, x3 +// CHECK-ASM: minu ra, sp, gp # encoding: [0xb3,0x50,0x31,0x0a] + +max t3, t4, t5 +// CHECK-ASM: max t3, t4, t5 # encoding: [0x33,0xee,0xee,0x0b] + +maxu a4, a5, a6 +// CHECK-ASM: maxu a4, a5, a6 # encoding: [0x33,0xf7,0x07,0x0b] + +pslli.b a6, a7 +// CHECK-ASM: pslli.b a6, a7 # encoding: [0x1b,0xa8,0x88,0x80] + +pslli.h x1, x2 +// CHECK-ASM: pslli.h ra, sp # encoding: [0x9b,0x20,0x01,0x81] + +psslai.h t0, t1 +// CHECK-ASM: psslai.h t0, t1 # encoding: [0x9b,0x22,0x03,0xd1] + +sslai a4, a5 +// CHECK-ASM: sslai a4, a5 # encoding: [0x1b,0xa7,0x07,0xd2] + +pli.h a5, 0x5 +// CHECK-ASM: pli.h a5, 5 # encoding: [0x9b,0xa7,0x02,0xb0] + +pli.b a6, 0x6 +// CHECK-ASM: pli.b a6, 6 # encoding: [0x1b,0x28,0x06,0xb4] + +psext.h.b a7, a0 +// CHECK-ASM: psext.h.b a7, a0 # encoding: [0x9b,0x28,0x45,0xe0] + +psabs.h a1, a2 +// CHECK-ASM: psabs.h a1, a2 # encoding: [0x9b,0x25,0x76,0xe0] + +psabs.b t0, t1 +// CHECK-ASM: psabs.b t0, t1 # encoding: [0x9b,0x22,0x73,0xe2] + +plui.h x3, 0x3 +// CHECK-ASM: plui.h gp, 3 # encoding: [0x9b,0xa1,0x01,0xf0] + +psll.hs a0, a1, a2 +// CHECK-ASM: psll.hs a0, a1, a2 # encoding: [0x1b,0xa5,0xc5,0x88] + +psll.bs a3, a4, a5 +// CHECK-ASM: psll.bs a3, a4, a5 # encoding: [0x9b,0x26,0xf7,0x8c] + +padd.hs t0, t1, t2 +// CHECK-ASM: padd.hs t0, t1, t2 # encoding: [0x9b,0x22,0x73,0x98] + +padd.bs x1, a1, a2 +// CHECK-ASM: padd.bs ra, a1, a2 # encoding: [0x9b,0xa0,0xc5,0x9c] + +pssha.hs a3, a4, a5 +// CHECK-ASM: pssha.hs a3, a4, a5 # encoding: [0x9b,0x26,0xf7,0xe8] + +ssha x3, a4, a5 +// CHECK-ASM: ssha gp, a4, a5 # encoding: [0x9b,0x21,0xf7,0xea] + +psshar.hs a6, a7, a0 +// CHECK-ASM: psshar.hs a6, a7, a0 # encoding: [0x1b,0xa8,0xa8,0xf8] + +sshar x6, a7, a0 +// CHECK-ASM: sshar t1, a7, a0 # encoding: [0x1b,0xa3,0xa8,0xfa] + +psrli.b a1, a2 +// CHECK-ASM: psrli.b a1, a2 # encoding: [0x9b,0x45,0x86,0x80] + +psrli.h a0, a1 +// CHECK-ASM: psrli.h a0, a1 # encoding: [0x1b,0xc5,0x05,0x81] + +pusati.h a2, t1 +// CHECK-ASM: pusati.h a2, t1 # encoding: [0x1b,0x46,0x03,0xa1] + +usati a3, t2 +// CHECK-ASM: usati a3, t2 # encoding: [0x9b,0xc6,0x03,0xa2] + +psrai.b a4, a5 +// CHECK-ASM: psrai.b a4, a5 # encoding: [0x1b,0xc7,0x87,0xc0] + +psrai.h a6, a7 +// CHECK-ASM: psrai.h a6, a7 # encoding: [0x1b,0xc8,0x08,0xc1] + +psrari.h a0, a1 +// CHECK-ASM: psrari.h a0, a1 # encoding: [0x1b,0xc5,0x05,0xd1] + +srari a2, a3 +// CHECK-ASM: srari a2, a3 # encoding: [0x1b,0xc6,0x06,0xd2] + +psati.h a4, t0 +// CHECK-ASM: psati.h a4, t0 # encoding: [0x1b,0xc7,0x02,0xe1] + +sati a5, t1 +// CHECK-ASM: sati a5, t1 # encoding: [0x9b,0x47,0x03,0xe2] + +psrl.hs a6, a7, a1 +// CHECK-ASM: psrl.hs a6, a7, a1 # encoding: [0x1b,0xc8,0xb8,0x88] + +psrl.bs a1, a2, a3 +// CHECK-ASM: psrl.bs a1, a2, a3 # encoding: [0x9b,0x45,0xd6,0x8c] + +predsum.hs a4, a5, a6 +// CHECK-ASM: predsum.hs a4, a5, a6 # encoding: [0x1b,0xc7,0x07,0x99] + +predsum.bs a7, a1, a1 +// CHECK-ASM: predsum.bs a7, a1, a1 # encoding: [0x9b,0xc8,0xb5,0x9c] + +predsumu.hs t0, t1, t2 +// CHECK-ASM: predsumu.hs t0, t1, t2 # encoding: [0x9b,0x42,0x73,0xb8] + +predsumu.bs t3, t4, t5 +// CHECK-ASM: predsumu.bs t3, t4, t5 # encoding: [0x1b,0xce,0xee,0xbd] + +psra.hs x1, a1, a2 +// CHECK-ASM: psra.hs ra, a1, a2 # encoding: [0x9b,0xc0,0xc5,0xc8] + +psra.bs x2, a2, a3 +// CHECK-ASM: psra.bs sp, a2, a3 # encoding: [0x1b,0x41,0xd6,0xcc] + +psslai.h t0, t1 +// CHECK-ASM: psslai.h t0, t1 # encoding: [0x9b,0x22,0x03,0xd1] + +sslai a4, a5 +// CHECK-ASM: sslai a4, a5 # encoding: [0x1b,0xa7,0x07,0xd2] + +pli.h a5, 0x5 +// CHECK-ASM: pli.h a5, 5 # encoding: [0x9b,0xa7,0x02,0xb0] + +pli.b a6, 0x6 +// CHECK-ASM: pli.b a6, 6 # encoding: [0x1b,0x28,0x06,0xb4] + +psext.h.b a7, a0 +// CHECK-ASM: psext.h.b a7, a0 # encoding: [0x9b,0x28,0x45,0xe0] + +psabs.h a1, a2 +// CHECK-ASM: psabs.h a1, a2 # encoding: [0x9b,0x25,0x76,0xe0] + +psabs.b t0, t1 +// CHECK-ASM: psabs.b t0, t1 # encoding: [0x9b,0x22,0x73,0xe2] + +plui.h x3, 0x3 +// CHECK-ASM: plui.h gp, 3 # encoding: [0x9b,0xa1,0x01,0xf0] + +psll.hs a0, a1, a2 +// CHECK-ASM: psll.hs a0, a1, a2 # encoding: [0x1b,0xa5,0xc5,0x88] + +psll.bs a3, a4, a5 +// CHECK-ASM: psll.bs a3, a4, a5 # encoding: [0x9b,0x26,0xf7,0x8c] + +padd.hs t0, t1, t2 +// CHECK-ASM: padd.hs t0, t1, t2 # encoding: [0x9b,0x22,0x73,0x98] + +padd.bs x1, a1, a2 +// CHECK-ASM: padd.bs ra, a1, a2 # encoding: [0x9b,0xa0,0xc5,0x9c] + +pssha.hs a3, a4, a5 +// CHECK-ASM: pssha.hs a3, a4, a5 # encoding: [0x9b,0x26,0xf7,0xe8] + +ssha x3, a4, a5 +// CHECK-ASM: ssha gp, a4, a5 # encoding: [0x9b,0x21,0xf7,0xea] + +psshar.hs a6, a7, a0 +// CHECK-ASM: psshar.hs a6, a7, a0 # encoding: [0x1b,0xa8,0xa8,0xf8] + +sshar x6, a7, a0 +// CHECK-ASM: sshar t1, a7, a0 # encoding: [0x1b,0xa3,0xa8,0xfa] + +psrli.b a1, a2 +// CHECK-ASM: psrli.b a1, a2 # encoding: [0x9b,0x45,0x86,0x80] + +psrli.h a0, a1 +// CHECK-ASM: psrli.h a0, a1 # encoding: [0x1b,0xc5,0x05,0x81] + +pusati.h a2, t1 +// CHECK-ASM: pusati.h a2, t1 # encoding: [0x1b,0x46,0x03,0xa1] + +usati a3, t2 +// CHECK-ASM: usati a3, t2 # encoding: [0x9b,0xc6,0x03,0xa2] + +psrai.b a4, a5 +// CHECK-ASM: psrai.b a4, a5 # encoding: [0x1b,0xc7,0x87,0xc0] + +psrai.h a6, a7 +// CHECK-ASM: psrai.h a6, a7 # encoding: [0x1b,0xc8,0x08,0xc1] + +psrari.h a0, a1 +// CHECK-ASM: psrari.h a0, a1 # encoding: [0x1b,0xc5,0x05,0xd1] + +srari a2, a3 +// CHECK-ASM: srari a2, a3 # encoding: [0x1b,0xc6,0x06,0xd2] + +psati.h a4, t0 +// CHECK-ASM: psati.h a4, t0 # encoding: [0x1b,0xc7,0x02,0xe1] + +sati a5, t1 +// CHECK-ASM: sati a5, t1 # encoding: [0x9b,0x47,0x03,0xe2] + +psrl.hs a6, a7, a1 +// CHECK-ASM: psrl.hs a6, a7, a1 # encoding: [0x1b,0xc8,0xb8,0x88] + +psrl.bs a1, a2, a3 +// CHECK-ASM: psrl.bs a1, a2, a3 # encoding: [0x9b,0x45,0xd6,0x8c] + +predsum.hs a4, a5, a6 +// CHECK-ASM: predsum.hs a4, a5, a6 # encoding: [0x1b,0xc7,0x07,0x99] + +predsum.bs a7, a1, a1 +// CHECK-ASM: predsum.bs a7, a1, a1 # encoding: [0x9b,0xc8,0xb5,0x9c] + +predsumu.hs t0, t1, t2 +// CHECK-ASM: predsumu.hs t0, t1, t2 # encoding: [0x9b,0x42,0x73,0xb8] + +predsumu.bs t3, t4, t5 +// CHECK-ASM: predsumu.bs t3, t4, t5 # encoding: [0x1b,0xce,0xee,0xbd] + +psra.hs x1, a1, a2 +// CHECK-ASM: psra.hs ra, a1, a2 # encoding: [0x9b,0xc0,0xc5,0xc8] + +psra.bs x2, a2, a3 +// CHECK-ASM: psra.bs sp, a2, a3 # encoding: [0x1b,0x41,0xd6,0xcc] + +padd.h t0, t1, t2 +// CHECK-ASM: padd.h t0, t1, t2 # encoding: [0xbb,0x02,0x73,0x80] + +padd.b x1, a1, a2 +// CHECK-ASM: padd.b ra, a1, a2 # encoding: [0xbb,0x80,0xc5,0x84] + +psadd.h t3, t4, t5 +// CHECK-ASM: psadd.h t3, t4, t5 # encoding: [0x3b,0x8e,0xee,0x91] + +sadd x6, a7, a0 +// CHECK-ASM: sadd t1, a7, a0 # encoding: [0x3b,0x83,0xa8,0x92] + +psadd.b t0, t1, t2 +// CHECK-ASM: psadd.b t0, t1, t2 # encoding: [0xbb,0x02,0x73,0x94] + +paadd.h t3, t4, t5 +// CHECK-ASM: paadd.h t3, t4, t5 # encoding: [0x3b,0x8e,0xee,0x99] + +aadd x6, a7, a0 +// CHECK-ASM: aadd t1, a7, a0 # encoding: [0x3b,0x83,0xa8,0x9a] + +paadd.b t0, t1, t2 +// CHECK-ASM: paadd.b t0, t1, t2 # encoding: [0xbb,0x02,0x73,0x9c] + +psaddu.h t3, t4, t5 +// CHECK-ASM: psaddu.h t3, t4, t5 # encoding: [0x3b,0x8e,0xee,0xb1] + +saddu x6, a7, a0 +// CHECK-ASM: saddu t1, a7, a0 # encoding: [0x3b,0x83,0xa8,0xb2] + +psaddu.b t0, t1, t2 +// CHECK-ASM: psaddu.b t0, t1, t2 # encoding: [0xbb,0x02,0x73,0xb4] + +paaddu.h t3, t4, t5 +// CHECK-ASM: paaddu.h t3, t4, t5 # encoding: [0x3b,0x8e,0xee,0xb9] + +aaddu x6, a7, a0 +// CHECK-ASM: aaddu t1, a7, a0 # encoding: [0x3b,0x83,0xa8,0xba] + +paaddu.b t0, t1, t2 +// CHECK-ASM: paaddu.b t0, t1, t2 # encoding: [0xbb,0x02,0x73,0xbc] + +psub.h t3, t4, t5 +// CHECK-ASM: psub.h t3, t4, t5 # encoding: [0x3b,0x8e,0xee,0xc1] + +psub.b t0, t1, t2 +// CHECK-ASM: psub.b t0, t1, t2 # encoding: [0xbb,0x02,0x73,0xc4] + +pdif.h t3, t4, t5 +// CHECK-ASM: pdif.h t3, t4, t5 # encoding: [0x3b,0x8e,0xee,0xc9] + +pdif.b t0, t1, t2 +// CHECK-ASM: pdif.b t0, t1, t2 # encoding: [0xbb,0x02,0x73,0xcc] + +pssub.h t3, t4, t5 +// CHECK-ASM: pssub.h t3, t4, t5 # encoding: [0x3b,0x8e,0xee,0xd1] + +ssub x6, a7, a0 +// CHECK-ASM: ssub t1, a7, a0 # encoding: [0x3b,0x83,0xa8,0xd2] + +pssub.b t0, t1, t2 +// CHECK-ASM: pssub.b t0, t1, t2 # encoding: [0xbb,0x02,0x73,0xd4] + +pasub.h t3, t4, t5 +// CHECK-ASM: pasub.h t3, t4, t5 # encoding: [0x3b,0x8e,0xee,0xd9] + +asub x6, a7, a0 +// CHECK-ASM: asub t1, a7, a0 # encoding: [0x3b,0x83,0xa8,0xda] + +pasub.b t0, t1, t2 +// CHECK-ASM: pasub.b t0, t1, t2 # encoding: [0xbb,0x02,0x73,0xdc] + +pdifu.h t3, t4, t5 +// CHECK-ASM: pdifu.h t3, t4, t5 # encoding: [0x3b,0x8e,0xee,0xe9] + +pdifu.b t0, t1, t2 +// CHECK-ASM: pdifu.b t0, t1, t2 # encoding: [0xbb,0x02,0x73,0xec] + +pssubu.h t3, t4, t5 +// CHECK-ASM: pssubu.h t3, t4, t5 # encoding: [0x3b,0x8e,0xee,0xf1] + +ssubu x6, a7, a0 +// CHECK-ASM: ssubu t1, a7, a0 # encoding: [0x3b,0x83,0xa8,0xf2] + +pssubu.b t0, t1, t2 +// CHECK-ASM: pssubu.b t0, t1, t2 # encoding: [0xbb,0x02,0x73,0xf4] + +pasubu.h t3, t4, t5 +// CHECK-ASM: pasubu.h t3, t4, t5 # encoding: [0x3b,0x8e,0xee,0xf9] + +asubu x6, a7, a0 +// CHECK-ASM: asubu t1, a7, a0 # encoding: [0x3b,0x83,0xa8,0xfa] + +pasubu.b t0, t1, t2 +// CHECK-ASM: pasubu.b t0, t1, t2 # encoding: [0xbb,0x02,0x73,0xfc] + +slx x3, a4, a5 +// CHECK-ASM: slx gp, a4, a5 # encoding: [0xbb,0x11,0xf7,0x8e] + +pmul.h.b01 t3, t4, t5 +// CHECK-ASM: pmul.h.b01 t3, t4, t5 # encoding: [0x3b,0x9e,0xee,0x91] + +mul.h01 t0, t1, t2 +// CHECK-ASM: mul.h01 t0, t1, t2 # encoding: [0xbb,0x12,0x73,0x92] + +macc.h01 t3, t4, t5 +// CHECK-ASM: macc.h01 t3, t4, t5 # encoding: [0x3b,0x9e,0xee,0x9b] + +mvm a0, a1, a2 +// CHECK-ASM: mvm a0, a1, a2 # encoding: [0x3b,0x95,0xc5,0xa8] + +mvmn x3, a4, a5 +// CHECK-ASM: mvmn gp, a4, a5 # encoding: [0xbb,0x11,0xf7,0xaa] + +merge t0, t1, t2 +// CHECK-ASM: merge t0, t1, t2 # encoding: [0xbb,0x12,0x73,0xac] + +srx x3, a4, a5 +// CHECK-ASM: srx gp, a4, a5 # encoding: [0xbb,0x11,0xf7,0xae] + +pmulu.h.b01 t3, t4, t5 +// CHECK-ASM: pmulu.h.b01 t3, t4, t5 # encoding: [0x3b,0x9e,0xee,0xb1] + +mulu.h01 t0, t1, t2 +// CHECK-ASM: mulu.h01 t0, t1, t2 # encoding: [0xbb,0x12,0x73,0xb2] + +pdifsumu.b t3, t4, t5 +// CHECK-ASM: pdifsumu.b t3, t4, t5 # encoding: [0x3b,0x9e,0xee,0xb5] + +maccu.h01 t3, t4, t5 +// CHECK-ASM: maccu.h01 t3, t4, t5 # encoding: [0x3b,0x9e,0xee,0xbb] + +pdifsumau.b t3, t4, t5 +// CHECK-ASM: pdifsumau.b t3, t4, t5 # encoding: [0x3b,0x9e,0xee,0xbd] + +mul.h01 t0, t1, t2 +// CHECK-ASM: mul.h01 t0, t1, t2 # encoding: [0xbb,0x12,0x73,0x92] + +macc.h01 t3, t4, t5 +// CHECK-ASM: macc.h01 t3, t4, t5 # encoding: [0x3b,0x9e,0xee,0x9b] + +mulu.h01 a0, a1, a2 +// CHECK-ASM: mulu.h01 a0, a1, a2 # encoding: [0x3b,0x95,0xc5,0xb2] + +maccu.h01 a3, a4, a5 +// CHECK-ASM: maccu.h01 a3, a4, a5 # encoding: [0xbb,0x16,0xf7,0xba] + +psh1add.h a0, a1, a2 +// CHECK-ASM: psh1add.h a0, a1, a2 # encoding: [0x3b,0xa5,0xc5,0xa0] + +pssh1sadd.h a3, a4, a5 +// CHECK-ASM: pssh1sadd.h a3, a4, a5 # encoding: [0xbb,0x26,0xf7,0xb0] + +ssh1sadd t0, t1, t2 +// CHECK-ASM: ssh1sadd t0, t1, t2 # encoding: [0xbb,0x22,0x73,0xa2] + +pmul.h.b00 s6, t4, s8 +// CHECK-ASM: pmul.h.b00 s6, t4, s8 # encoding: [0x3b,0xbb,0x8e,0x81] + +pmul.h.b11 t0, t4, s4 +// CHECK-ASM: pmul.h.b11 t0, t4, s4 # encoding: [0xbb,0xb2,0x4e,0x91] + +pmulu.h.b00 t2, s6, s8 +// CHECK-ASM: pmulu.h.b00 t2, s6, s8 # encoding: [0xbb,0x33,0x8b,0xa1] + +pmulu.h.b11 t2, s6, a0 +// CHECK-ASM: pmulu.h.b11 t2, s6, a0 # encoding: [0xbb,0x33,0xab,0xb0] + +pmulsu.h.b00 s4, a4, s8 +// CHECK-ASM: pmulsu.h.b00 s4, a4, s8 # encoding: [0x3b,0x3a,0x87,0xe1] + +pmulsu.h.b11 s6, a2, s4 +// CHECK-ASM: pmulsu.h.b11 s6, a2, s4 # encoding: [0x3b,0x3b,0x46,0xf1] + +mul.h00 a4, t4, s2 +// CHECK-ASM: mul.h00 a4, t4, s2 # encoding: [0x3b,0xb7,0x2e,0x83] + +macc.h00 a4, a0, s0 +// CHECK-ASM: macc.h00 a4, a0, s0 # encoding: [0x3b,0x37,0x85,0x8a] + +mul.h11 a0, a4, a0 +// CHECK-ASM: mul.h11 a0, a4, a0 # encoding: [0x3b,0x35,0xa7,0x92] + +macc.h11 s6, a4, s4 +// CHECK-ASM: macc.h11 s6, a4, s4 # encoding: [0x3b,0x3b,0x47,0x9b] + +mulu.h00 s6, s0, a0 +// CHECK-ASM: mulu.h00 s6, s0, a0 # encoding: [0x3b,0x3b,0xa4,0xa2] + +maccu.h00 s0, s6, s0 +// CHECK-ASM: maccu.h00 s0, s6, s0 # encoding: [0x3b,0x34,0x8b,0xaa] + +mulu.h11 s0, s4, s6 +// CHECK-ASM: mulu.h11 s0, s4, s6 # encoding: [0x3b,0x34,0x6a,0xb3] + +maccu.h11 s0, t4, t4 +// CHECK-ASM: maccu.h11 s0, t4, t4 # encoding: [0x3b,0xb4,0xde,0xbb] + +mulsu.h00 a4, s4, s6 +// CHECK-ASM: mulsu.h00 a4, s4, s6 # encoding: [0x3b,0x37,0x6a,0xe3] + +maccsu.h00 s4, s4, s0 +// CHECK-ASM: maccsu.h00 s4, s4, s0 # encoding: [0x3b,0x3a,0x8a,0xea] + +mulsu.h11 s8, s4, s0 +// CHECK-ASM: mulsu.h11 s8, s4, s0 # encoding: [0x3b,0x3c,0x8a,0xf2] + +maccsu.h11 s0, a2, s6 +// CHECK-ASM: maccsu.h11 s0, a2, s6 # encoding: [0x3b,0x34,0x66,0xfb] + +ppack.h t1, a2, t5 +// CHECK-ASM: ppack.h t1, a2, t5 # encoding: [0x3b,0x43,0xe6,0x81] + +ppackbt.h t5, t3, s2 +// CHECK-ASM: ppackbt.h t5, t3, s2 # encoding: [0x3b,0x4f,0x2e,0x91] + +ppacktb.h t1, t1, s0 +// CHECK-ASM: ppacktb.h t1, t1, s0 # encoding: [0x3b,0x43,0x83,0xa0] + +ppackt.h t3, s0, s0 +// CHECK-ASM: ppackt.h t3, s0, s0 # encoding: [0x3b,0x4e,0x84,0xb0] + +packbt t1, t1, s2 +// CHECK-ASM: packbt t1, t1, s2 # encoding: [0x3b,0x43,0x23,0x93] + +packtb t5, s0, a2 +// CHECK-ASM: packtb t5, s0, a2 # encoding: [0x3b,0x4f,0xc4,0xa2] + +packt a4, t5, t5 +// CHECK-ASM: packt a4, t5, t5 # encoding: [0x3b,0x47,0xef,0xb3] + +pm2add.h t3, t1, s0 +// CHECK-ASM: pm2add.h t3, t1, s0 # encoding: [0x3b,0x5e,0x83,0x80] + +pm4add.b t1, s2, t5 +// CHECK-ASM: pm4add.b t1, s2, t5 # encoding: [0x3b,0x53,0xe9,0x85] + +pm2adda.h t1, s2, a4 +// CHECK-ASM: pm2adda.h t1, s2, a4 # encoding: [0x3b,0x53,0xe9,0x88] + +pm4adda.b t3, a0, t5 +// CHECK-ASM: pm4adda.b t3, a0, t5 # encoding: [0x3b,0x5e,0xe5,0x8d] + +pm2add.hx s0, t5, a4 +// CHECK-ASM: pm2add.hx s0, t5, a4 # encoding: [0x3b,0x54,0xef,0x90] + +pm2adda.hx a0, a0, t1 +// CHECK-ASM: pm2adda.hx a0, a0, t1 # encoding: [0x3b,0x55,0x65,0x98] + +pm2addu.h s2, t5, a2 +// CHECK-ASM: pm2addu.h s2, t5, a2 # encoding: [0x3b,0x59,0xcf,0xa0] + +pm4addu.b t5, s0, t1 +// CHECK-ASM: pm4addu.b t5, s0, t1 # encoding: [0x3b,0x5f,0x64,0xa4] + +pm2addau.h t3, t1, t5 +// CHECK-ASM: pm2addau.h t3, t1, t5 # encoding: [0x3b,0x5e,0xe3,0xa9] + +pm4addau.b a4, t3, a0 +// CHECK-ASM: pm4addau.b a4, t3, a0 # encoding: [0x3b,0x57,0xae,0xac] + +pmq2add.h t1, a2, t1 +// CHECK-ASM: pmq2add.h t1, a2, t1 # encoding: [0x3b,0x53,0x66,0xb0] + +pmqr2add.h a2, a4, s2 +// CHECK-ASM: pmqr2add.h a2, a4, s2 # encoding: [0x3b,0x56,0x27,0xb5] + +pmq2adda.h t5, t3, t1 +// CHECK-ASM: pmq2adda.h t5, t3, t1 # encoding: [0x3b,0x5f,0x6e,0xb8] + +pmqr2adda.h t1, s0, a2 +// CHECK-ASM: pmqr2adda.h t1, s0, a2 # encoding: [0x3b,0x53,0xc4,0xbc] + +pm2sub.h t1, a0, a4 +// CHECK-ASM: pm2sub.h t1, a0, a4 # encoding: [0x3b,0x53,0xe5,0xc0] + +pm2sadd.h s2, s2, t3 +// CHECK-ASM: pm2sadd.h s2, s2, t3 # encoding: [0x3b,0x59,0xc9,0xc5] + +pm2suba.h s0, s0, t3 +// CHECK-ASM: pm2suba.h s0, s0, t3 # encoding: [0x3b,0x54,0xc4,0xc9] + +pm2sub.hx a2, a2, a0 +// CHECK-ASM: pm2sub.hx a2, a2, a0 # encoding: [0x3b,0x56,0xa6,0xd0] + +pm2sadd.hx t5, s2, a0 +// CHECK-ASM: pm2sadd.hx t5, s2, a0 # encoding: [0x3b,0x5f,0xa9,0xd4] + +pm2suba.hx a4, a2, t5 +// CHECK-ASM: pm2suba.hx a4, a2, t5 # encoding: [0x3b,0x57,0xe6,0xd9] + +pm2addsu.h s0, s0, s2 +// CHECK-ASM: pm2addsu.h s0, s0, s2 # encoding: [0x3b,0x54,0x24,0xe1] + +pm4addsu.b a0, s0, t3 +// CHECK-ASM: pm4addsu.b a0, s0, t3 # encoding: [0x3b,0x55,0xc4,0xe5] + +pm2addasu.h a4, t1, a2 +// CHECK-ASM: pm2addasu.h a4, t1, a2 # encoding: [0x3b,0x57,0xc3,0xe8] + +pm4addasu.b s2, s0, a2 +// CHECK-ASM: pm4addasu.b s2, s0, a2 # encoding: [0x3b,0x59,0xc4,0xec] + +mqacc.h01 a4, t1, a0 +// CHECK-ASM: mqacc.h01 a4, t1, a0 # encoding: [0x3b,0x57,0xa3,0xb8] + +mqracc.h01 s0, a0, t5 +// CHECK-ASM: mqracc.h01 s0, a0, t5 # encoding: [0x3b,0x54,0xe5,0xbd] + +pas.hx t5, s2, t5 +// CHECK-ASM: pas.hx t5, s2, t5 # encoding: [0x3b,0x6f,0xe9,0x81] + +psa.hx s0, t1, t3 +// CHECK-ASM: psa.hx s0, t1, t3 # encoding: [0x3b,0x64,0xc3,0x85] + +psas.hx t5, s2, a2 +// CHECK-ASM: psas.hx t5, s2, a2 # encoding: [0x3b,0x6f,0xc9,0x90] + +pssa.hx s2, t3, t5 +// CHECK-ASM: pssa.hx s2, t3, t5 # encoding: [0x3b,0x69,0xee,0x95] + +pmseq.h a0, t1, s0 +// CHECK-ASM: pmseq.h a0, t1, s0 # encoding: [0x3b,0x65,0x83,0xc0] + +pmseq.b s0, s2, s0 +// CHECK-ASM: pmseq.b s0, s2, s0 # encoding: [0x3b,0x64,0x89,0xc4] + +pmslt.h t3, a2, a4 +// CHECK-ASM: pmslt.h t3, a2, a4 # encoding: [0x3b,0x6e,0xe6,0xd0] + +pmslt.b t5, a4, t1 +// CHECK-ASM: pmslt.b t5, a4, t1 # encoding: [0x3b,0x6f,0x67,0xd4] + +pmsltu.h s2, s0, s2 +// CHECK-ASM: pmsltu.h s2, s0, s2 # encoding: [0x3b,0x69,0x24,0xd9] + +pmsltu.b s0, s2, t5 +// CHECK-ASM: pmsltu.b s0, s2, t5 # encoding: [0x3b,0x64,0xe9,0xdd] + +pmin.h s2, t3, s2 +// CHECK-ASM: pmin.h s2, t3, s2 # encoding: [0x3b,0x69,0x2e,0xe1] + +pmin.b a2, a2, t5 +// CHECK-ASM: pmin.b a2, a2, t5 # encoding: [0x3b,0x66,0xe6,0xe5] + +pminu.h a0, a4, a2 +// CHECK-ASM: pminu.h a0, a4, a2 # encoding: [0x3b,0x65,0xc7,0xe8] + +pminu.b a4, t3, s2 +// CHECK-ASM: pminu.b a4, t3, s2 # encoding: [0x3b,0x67,0x2e,0xed] + +pmax.h a4, s2, a0 +// CHECK-ASM: pmax.h a4, s2, a0 # encoding: [0x3b,0x67,0xa9,0xf0] + +pmax.b t1, s0, s0 +// CHECK-ASM: pmax.b t1, s0, s0 # encoding: [0x3b,0x63,0x84,0xf4] + +pmaxu.h a0, s0, s0 +// CHECK-ASM: pmaxu.h a0, s0, s0 # encoding: [0x3b,0x65,0x84,0xf8] + +pmaxu.b t3, a0, t1 +// CHECK-ASM: pmaxu.b t3, a0, t1 # encoding: [0x3b,0x6e,0x65,0xfc] + +mseq a4, t1, s0 +// CHECK-ASM: mseq a4, t1, s0 # encoding: [0x3b,0x67,0x83,0xc2] + +mslt t5, t5, t1 +// CHECK-ASM: mslt t5, t5, t1 # encoding: [0x3b,0x6f,0x6f,0xd2] + +msltu s2, a0, t3 +// CHECK-ASM: msltu s2, a0, t3 # encoding: [0x3b,0x69,0xc5,0xdb] + +pmulh.h s0, t3, t3 +// CHECK-ASM: pmulh.h s0, t3, t3 # encoding: [0x3b,0x74,0xce,0x81] + +pmulhr.h t1, t5, s0 +// CHECK-ASM: pmulhr.h t1, t5, s0 # encoding: [0x3b,0x73,0x8f,0x84] + +pmhacc.h s0, t5, s2 +// CHECK-ASM: pmhacc.h s0, t5, s2 # encoding: [0x3b,0x74,0x2f,0x89] + +pmhracc.h a4, t3, a2 +// CHECK-ASM: pmhracc.h a4, t3, a2 # encoding: [0x3b,0x77,0xce,0x8c] + +pmulhu.h a4, t5, a2 +// CHECK-ASM: pmulhu.h a4, t5, a2 # encoding: [0x3b,0x77,0xcf,0x90] + +pmulhru.h a4, a2, a4 +// CHECK-ASM: pmulhru.h a4, a2, a4 # encoding: [0x3b,0x77,0xe6,0x94] + +pmhaccu.h a4, t1, t3 +// CHECK-ASM: pmhaccu.h a4, t1, t3 # encoding: [0x3b,0x77,0xc3,0x99] + +pmhraccu.h s2, s0, t1 +// CHECK-ASM: pmhraccu.h s2, s0, t1 # encoding: [0x3b,0x79,0x64,0x9c] + +pmulh.h.b0 a0, t5, a4 +// CHECK-ASM: pmulh.h.b0 a0, t5, a4 # encoding: [0x3b,0x75,0xef,0xa0] + +pmulhsu.h.b0 s0, a4, s2 +// CHECK-ASM: pmulhsu.h.b0 s0, a4, s2 # encoding: [0x3b,0x74,0x27,0xa5] + +pmhaccu.h.b0 s0, a0, t5 +// CHECK-ASM: pmhaccu.h.b0 s0, a0, t5 # encoding: [0x3b,0x74,0xe5,0xa9] + +pmhaccsu.h.b0 t3, s0, a4 +// CHECK-ASM: pmhaccsu.h.b0 t3, s0, a4 # encoding: [0x3b,0x7e,0xe4,0xac] + +pmulh.h.b1 a0, a4, s2 +// CHECK-ASM: pmulh.h.b1 a0, a4, s2 # encoding: [0x3b,0x75,0x27,0xb1] + +pmulhsu.h.b1 t5, t3, t1 +// CHECK-ASM: pmulhsu.h.b1 t5, t3, t1 # encoding: [0x3b,0x7f,0x6e,0xb4] + +pmhacc.h.b1 t1, t5, a2 +// CHECK-ASM: pmhacc.h.b1 t1, t5, a2 # encoding: [0x3b,0x73,0xcf,0xb8] + +pmhaccsu.h.b1 a2, a0, a4 +// CHECK-ASM: pmhaccsu.h.b1 a2, a0, a4 # encoding: [0x3b,0x76,0xe5,0xbc] + +pmulhsu.h s0, a0, t1 +// CHECK-ASM: pmulhsu.h s0, a0, t1 # encoding: [0x3b,0x74,0x65,0xc0] + +pmulhrsu.h t3, t5, a4 +// CHECK-ASM: pmulhrsu.h t3, t5, a4 # encoding: [0x3b,0x7e,0xef,0xc4] + +pmhaccsu.h s0, s0, a4 +// CHECK-ASM: pmhaccsu.h s0, s0, a4 # encoding: [0x3b,0x74,0xe4,0xc8] + +pmhraccsu.h a2, a2, a0 +// CHECK-ASM: pmhraccsu.h a2, a2, a0 # encoding: [0x3b,0x76,0xa6,0xcc] + +pmulq.h a0, t1, t1 +// CHECK-ASM: pmulq.h a0, t1, t1 # encoding: [0x3b,0x75,0x63,0xd0] + +pmulqr.h s2, s0, s2 +// CHECK-ASM: pmulqr.h s2, s0, s2 # encoding: [0x3b,0x79,0x24,0xd5] + +mulhr a4, s2, t5 +// CHECK-ASM: mulhr a4, s2, t5 # encoding: [0x3b,0x77,0xe9,0x87] + +mhacc t1, s0, a2 +// CHECK-ASM: mhacc t1, s0, a2 # encoding: [0x3b,0x73,0xc4,0x8a] + +mhracc t1, t5, s0 +// CHECK-ASM: mhracc t1, t5, s0 # encoding: [0x3b,0x73,0x8f,0x8e] + +mulhru t1, t5, s0 +// CHECK-ASM: mulhru t1, t5, s0 # encoding: [0x3b,0x73,0x8f,0x96] + +mhaccu t3, a2, s2 +// CHECK-ASM: mhaccu t3, a2, s2 # encoding: [0x3b,0x7e,0x26,0x9b] + +mhraccu a0, t1, a4 +// CHECK-ASM: mhraccu a0, t1, a4 # encoding: [0x3b,0x75,0xe3,0x9e] + +mulh.h0 t3, a4, t1 +// CHECK-ASM: mulh.h0 t3, a4, t1 # encoding: [0x3b,0x7e,0x67,0xa2] + +mulhsu.h0 t1, a2, a0 +// CHECK-ASM: mulhsu.h0 t1, a2, a0 # encoding: [0x3b,0x73,0xa6,0xa6] + +mhacc.h0 s0, a2, t3 +// CHECK-ASM: mhacc.h0 s0, a2, t3 # encoding: [0x3b,0x74,0xc6,0xab] + +mhaccsu.h0 a2, t1, s0 +// CHECK-ASM: mhaccsu.h0 a2, t1, s0 # encoding: [0x3b,0x76,0x83,0xae] + +mulh.h1 t1, t1, t3 +// CHECK-ASM: mulh.h1 t1, t1, t3 # encoding: [0x3b,0x73,0xc3,0xb3] + +mulhsu.h1 t3, a2, t1 +// CHECK-ASM: mulhsu.h1 t3, a2, t1 # encoding: [0x3b,0x7e,0x66,0xb6] + +mhacc.h1 t3, a2, a0 +// CHECK-ASM: mhacc.h1 t3, a2, a0 # encoding: [0x3b,0x7e,0xa6,0xba] + +mhaccsu.h1 s0, s2, s0 +// CHECK-ASM: mhaccsu.h1 s0, s2, s0 # encoding: [0x3b,0x74,0x89,0xbe] + +mulhrsu.h t5, a4, t5 +// CHECK-ASM: mulhrsu.h t5, a4, t5 # encoding: [0x3b,0x7f,0xe7,0xc7] + +mhaccsu a0, a2, s2 +// CHECK-ASM: mhaccsu a0, a2, s2 # encoding: [0x3b,0x75,0x26,0xcb] + +mhraccsu a0, a0, t1 +// CHECK-ASM: mhraccsu a0, a0, t1 # encoding: [0x3b,0x75,0x65,0xce] + +mulq t1, a2, a2 +// CHECK-ASM: mulq t1, a2, a2 # encoding: [0x3b,0x73,0xc6,0xd2] + +mulqr a4, a4, t3 +// CHECK-ASM: mulqr a4, a4, t3 # encoding: [0x3b,0x77,0xc7,0xd7] + +mqacc.h00 a2, t3, t3 +// CHECK-ASM: mqacc.h00 a2, t3, t3 # encoding: [0x3b,0x76,0xce,0xe9] + +mqracc.h00 t5, a4, t3 +// CHECK-ASM: mqracc.h00 t5, a4, t3 # encoding: [0x3b,0x7f,0xc7,0xed] + +mqacc.h11 t5, t5, s0 +// CHECK-ASM: mqacc.h11 t5, t5, s0 # encoding: [0x3b,0x7f,0x8f,0xf8] + +mqracc.h11 s0, t5, s2 +// CHECK-ASM: mqracc.h11 s0, t5, s2 # encoding: [0x3b,0x74,0x2f,0xfd] + +pwslli.b a0, t1 +// CHECK-ASM: pwslli.b a0, t1 # encoding: [0x1b,0x4a,0x03,0x01] + +pwslli.h s0, a0 +// CHECK-ASM: pwslli.h s0, a0 # encoding: [0x1b,0x48,0x05,0x12] + +wslli s2, t3 +// CHECK-ASM: wslli s2, t3 # encoding: [0x1b,0x42,0x0e,0x24] + +pwslai.b t5, t5 +// CHECK-ASM: pwslai.b t5, t5 # encoding: [0x1b,0x4e,0x0f,0x41] + +pwslai.h t5, a4 +// CHECK-ASM: pwslai.h t5, a4 # encoding: [0x1b,0x4e,0x07,0x42] + +wslai t1, a2 +// CHECK-ASM: wslai t1, a2 # encoding: [0x1b,0x46,0x06,0x44] + +pli.dh s0, 0x7 +// CHECK-ASM: pli.dh s0, 7 # encoding: [0x1b,0xa4,0x03,0x30] + +pli.db a2, 0x1 +// CHECK-ASM: pli.db a2, 1 # encoding: [0x1b,0x26,0x01,0x34] + +plui.dh t5, 0x5 +// CHECK-ASM: plui.dh t5, 5 # encoding: [0x1b,0xaf,0x02,0x70] + +pwslli.bs t3, t1, s0 +// CHECK-ASM: pwslli.bs t3, t1, s0 # encoding: [0x1b,0x2c,0x83,0x08] + +pwsll.hs s0, a4, t1 +// CHECK-ASM: pwsll.hs s0, a4, t1 # encoding: [0x1b,0x28,0x67,0x0a] + +wsll a0, s0, s2 +// CHECK-ASM: wsll a0, s0, s2 # encoding: [0x1b,0x2a,0x24,0x0f] + +pwsla.bs s0, s0, s0 +// CHECK-ASM: pwsla.bs s0, s0, s0 # encoding: [0x1b,0x28,0x84,0x48] + +pwsla.hs a4, a2, t5 +// CHECK-ASM: pwsla.hs a4, a2, t5 # encoding: [0x1b,0x2e,0xe6,0x4b] + +wsla s0, a0, s2 +// CHECK-ASM: wsla s0, a0, s2 # encoding: [0x1b,0x28,0x25,0x4f] + +wzip8p t1, s2, a2 +// CHECK-ASM: wzip8p t1, s2, a2 # encoding: [0x1b,0x26,0xc9,0x78] + +wzip16p s2, t3, s2 +// CHECK-ASM: wzip16p s2, t3, s2 # encoding: [0x1b,0x22,0x2e,0x7b] + +pwadd.h a4, a2, a0 +// CHECK-ASM: pwadd.h a4, a2, a0 # encoding: [0xbb,0x2e,0xa6,0x00] + +wadd t1, t5, t5 +// CHECK-ASM: wadd t1, t5, t5 # encoding: [0xbb,0x26,0xef,0x03] + +pwadd.b s0, t3, a4 +// CHECK-ASM: pwadd.b s0, t3, a4 # encoding: [0xbb,0x28,0xee,0x04] + +pw2wadd.h t3, t3, a4 +// CHECK-ASM: pw2wadd.h t3, t3, a4 # encoding: [0xbb,0x2c,0xee,0x06] + +pwadda.h t1, t3, s2 +// CHECK-ASM: pwadda.h t1, t3, s2 # encoding: [0xbb,0x26,0x2e,0x09] + +wadda s2, t1, a0 +// CHECK-ASM: wadda s2, t1, a0 # encoding: [0xbb,0x22,0xa3,0x0a] + +pwadda.b a2, a2, s2 +// CHECK-ASM: pwadda.b a2, a2, s2 # encoding: [0xbb,0x2c,0x26,0x0d] + +pw2wadda.h t3, t1, t1 +// CHECK-ASM: pw2wadda.h t3, t1, t1 # encoding: [0xbb,0x2c,0x63,0x0e] + +pwaddu.h a2, t1, a4 +// CHECK-ASM: pwaddu.h a2, t1, a4 # encoding: [0xbb,0x2c,0xe3,0x10] + +waddu t1, s0, t1 +// CHECK-ASM: waddu t1, s0, t1 # encoding: [0xbb,0x26,0x64,0x12] + +pwaddu.b s2, a0, t3 +// CHECK-ASM: pwaddu.b s2, a0, t3 # encoding: [0xbb,0x22,0xc5,0x15] + +pw2wadd.hx a0, s0, t1 +// CHECK-ASM: pw2wadd.hx a0, s0, t1 # encoding: [0xbb,0x2a,0x64,0x16] + +pwaddau.h t1, t5, t3 +// CHECK-ASM: pwaddau.h t1, t5, t3 # encoding: [0xbb,0x26,0xcf,0x19] + +waddau t3, s0, s0 +// CHECK-ASM: waddau t3, s0, s0 # encoding: [0xbb,0x2c,0x84,0x1a] + +pwaddau.b a0, a0, t1 +// CHECK-ASM: pwaddau.b a0, a0, t1 # encoding: [0xbb,0x2a,0x65,0x1c] + +pw2wadda.hx a4, a2, t3 +// CHECK-ASM: pw2wadda.hx a4, a2, t3 # encoding: [0xbb,0x2e,0xc6,0x1f] + +pwmul.h s2, t1, a0 +// CHECK-ASM: pwmul.h s2, t1, a0 # encoding: [0xbb,0x22,0xa3,0x20] + +wmul t3, a2, t5 +// CHECK-ASM: wmul t3, a2, t5 # encoding: [0xbb,0x2c,0xe6,0x23] + +pwmul.b a0, s0, s2 +// CHECK-ASM: pwmul.b a0, s0, s2 # encoding: [0xbb,0x2a,0x24,0x25] + +pw2waddu.h s2, s2, a0 +// CHECK-ASM: pw2waddu.h s2, s2, a0 # encoding: [0xbb,0x22,0xa9,0x26] + +pwmacc.h s0, a2, a2 +// CHECK-ASM: pwmacc.h s0, a2, a2 # encoding: [0xbb,0x28,0xc6,0x28] + +wmacc a0, a2, a2 +// CHECK-ASM: wmacc a0, a2, a2 # encoding: [0xbb,0x2a,0xc6,0x2a] + +pm2waddau.h t5, a2, t5 +// CHECK-ASM: pm2waddau.h t5, a2, t5 # encoding: [0xbb,0x2e,0xe6,0x2f] + +pwmulu.h a2, a0, t5 +// CHECK-ASM: pwmulu.h a2, a0, t5 # encoding: [0xbb,0x2c,0xe5,0x31] + +wmulu s2, a0, t3 +// CHECK-ASM: wmulu s2, a0, t3 # encoding: [0xbb,0x22,0xc5,0x33] + +pwmulu.b a2, a4, a2 +// CHECK-ASM: pwmulu.b a2, a4, a2 # encoding: [0xbb,0x2c,0xc7,0x34] + +pwmaccu.h t1, a4, a2 +// CHECK-ASM: pwmaccu.h t1, a4, a2 # encoding: [0xbb,0x26,0xc7,0x38] + +wmaccu a2, a0, t1 +// CHECK-ASM: wmaccu a2, a0, t1 # encoding: [0xbb,0x2c,0x65,0x3a] + +pwsub.h s0, s2, t3 +// CHECK-ASM: pwsub.h s0, s2, t3 # encoding: [0xbb,0x28,0xc9,0x41] + +wsub t1, s2, a4 +// CHECK-ASM: wsub t1, s2, a4 # encoding: [0xbb,0x26,0xe9,0x42] + +pwsub.b a4, s2, s2 +// CHECK-ASM: pwsub.b a4, s2, s2 # encoding: [0xbb,0x2e,0x29,0x45] + +pw2wsub.h t1, a4, t3 +// CHECK-ASM: pw2wsub.h t1, a4, t3 # encoding: [0xbb,0x26,0xc7,0x47] + +pwsuba.h a4, t5, t1 +// CHECK-ASM: pwsuba.h a4, t5, t1 # encoding: [0xbb,0x2e,0x6f,0x48] + +wsuba a0, s0, t5 +// CHECK-ASM: wsuba a0, s0, t5 # encoding: [0xbb,0x2a,0xe4,0x4b] + +pwsuba.b a0, a2, s2 +// CHECK-ASM: pwsuba.b a0, a2, s2 # encoding: [0xbb,0x2a,0x26,0x4d] + +pw2wsuba.h t5, s0, s2 +// CHECK-ASM: pw2wsuba.h t5, s0, s2 # encoding: [0xbb,0x2e,0x24,0x4f] + +pwsubu.h t5, s2, a2 +// CHECK-ASM: pwsubu.h t5, s2, a2 # encoding: [0xbb,0x2e,0xc9,0x50] + +wsubu a2, a4, a0 +// CHECK-ASM: wsubu a2, a4, a0 # encoding: [0xbb,0x2c,0xa7,0x52] + +pwsubu.b a2, a2, t5 +// CHECK-ASM: pwsubu.b a2, a2, t5 # encoding: [0xbb,0x2c,0xe6,0x55] + +pw2wsub.hx t5, a2, a0 +// CHECK-ASM: pw2wsub.hx t5, a2, a0 # encoding: [0xbb,0x2e,0xa6,0x56] + +pwsubau.h t5, s0, s2 +// CHECK-ASM: pwsubau.h t5, s0, s2 # encoding: [0xbb,0x2e,0x24,0x59] + +wsubau t5, a0, t1 +// CHECK-ASM: wsubau t5, a0, t1 # encoding: [0xbb,0x2e,0x65,0x5a] + +pwsubau.b a2, a0, a0 +// CHECK-ASM: pwsubau.b a2, a0, a0 # encoding: [0xbb,0x2c,0xa5,0x5c] + +pw2wsuba.hx a2, a2, t5 +// CHECK-ASM: pw2wsuba.hx a2, a2, t5 # encoding: [0xbb,0x2c,0xe6,0x5f] + +pwmulsu.h s0, a2, t3 +// CHECK-ASM: pwmulsu.h s0, a2, t3 # encoding: [0xbb,0x28,0xc6,0x61] + +wmulsu a0, s2, a0 +// CHECK-ASM: wmulsu a0, s2, a0 # encoding: [0xbb,0x2a,0xa9,0x62] + +pwmulsu.b t3, t5, t1 +// CHECK-ASM: pwmulsu.b t3, t5, t1 # encoding: [0xbb,0x2c,0x6f,0x64] + +pm2waddsu.h a4, a2, s2 +// CHECK-ASM: pm2waddsu.h a4, a2, s2 # encoding: [0xbb,0x2e,0x26,0x67] + +pwmaccsu.h t5, s2, a2 +// CHECK-ASM: pwmaccsu.h t5, s2, a2 # encoding: [0xbb,0x2e,0xc9,0x68] + +wmaccsu t3, s0, a4 +// CHECK-ASM: wmaccsu t3, s0, a4 # encoding: [0xbb,0x2c,0xe4,0x6a] + +pm2waddasu.h t3, t5, a0 +// CHECK-ASM: pm2waddasu.h t3, t5, a0 # encoding: [0xbb,0x2c,0xaf,0x6e] + +pmqwacc.h t5, t5, a2 +// CHECK-ASM: pmqwacc.h t5, t5, a2 # encoding: [0xbb,0x2e,0xcf,0x78] + +pmqwacc s2, a4, a2 +// CHECK-ASM: pmqwacc s2, a4, a2 # encoding: [0xbb,0x22,0xc7,0x7a] + +pmqrwacc.h a4, t3, a4 +// CHECK-ASM: pmqrwacc.h a4, t3, a4 # encoding: [0xbb,0x2e,0xee,0x7c] + +pmqrwacc s0, s2, t5 +// CHECK-ASM: pmqrwacc s0, s2, t5 # encoding: [0xbb,0x28,0xe9,0x7f] + +predsum.dhs s0, t3, a0 +// CHECK-ASM: predsum.dhs s0, t3, a0 # encoding: [0x1b,0x44,0xac,0x08] + +predsum.dbs a2, s0, t3 +// CHECK-ASM: predsum.dbs a2, s0, t3 # encoding: [0x1b,0x46,0xc8,0x0d] + +predsumu.dhs a2, a2, t3 +// CHECK-ASM: predsumu.dhs a2, a2, t3 # encoding: [0x1b,0x46,0xcc,0x39] + +predsumu.dbs a2, a0, s0 +// CHECK-ASM: predsumu.dbs a2, a0, s0 # encoding: [0x1b,0x46,0x8a,0x3c] + +pnsrli.b a2, a0 +// CHECK-ASM: pnsrli.b a2, a0 # encoding: [0x1b,0xc6,0x0a,0x01] + +pnsrli.h a0, t3 +// CHECK-ASM: pnsrli.h a0, t3 # encoding: [0x1b,0xc5,0x0c,0x02] + +nsrli a2, a0 +// CHECK-ASM: nsrli a2, a0 # encoding: [0x1b,0xc6,0x0a,0x04] + +pnclipiu.b a4, t3 +// CHECK-ASM: pnclipiu.b a4, t3 # encoding: [0x1b,0xc7,0x0c,0x21] + +pnclipiu.h t1, s2 +// CHECK-ASM: pnclipiu.h t1, s2 # encoding: [0x1b,0xc3,0x02,0x22] + +nclipiu s0, a2 +// CHECK-ASM: nclipiu s0, a2 # encoding: [0x1b,0xc4,0x0c,0x24] + +pnclipriu.b s2, s0 +// CHECK-ASM: pnclipriu.b s2, s0 # encoding: [0x1b,0xc9,0x08,0x31] + +pnclipriu.h s0, s0 +// CHECK-ASM: pnclipriu.h s0, s0 # encoding: [0x1b,0xc4,0x08,0x32] + +nclipriu t3, t3 +// CHECK-ASM: nclipriu t3, t3 # encoding: [0x1b,0xce,0x0c,0x34] + +pnsrai.b s2, t5 +// CHECK-ASM: pnsrai.b s2, t5 # encoding: [0x1b,0xc9,0x0e,0x41] + +pnsrai.h s0, a0 +// CHECK-ASM: pnsrai.h s0, a0 # encoding: [0x1b,0xc4,0x0a,0x42] + +nsrai a4, t3 +// CHECK-ASM: nsrai a4, t3 # encoding: [0x1b,0xc7,0x0c,0x44] + +pnsari.b t5, t5 +// CHECK-ASM: pnsari.b t5, t5 # encoding: [0x1b,0xcf,0x0e,0x51] + +pnsari.h t1, a4 +// CHECK-ASM: pnsari.h t1, a4 # encoding: [0x1b,0xc3,0x0e,0x52] + +nsari s0, t1 +// CHECK-ASM: nsari s0, t1 # encoding: [0x1b,0xc4,0x06,0x54] + +pnclipi.b t1, a4 +// CHECK-ASM: pnclipi.b t1, a4 # encoding: [0x1b,0xc3,0x0e,0x61] + +pnclipi.h a0, a4 +// CHECK-ASM: pnclipi.h a0, a4 # encoding: [0x1b,0xc5,0x0e,0x62] + +nclipi t5, t5 +// CHECK-ASM: nclipi t5, t5 # encoding: [0x1b,0xcf,0x0e,0x64] + +pnclipri.b a0, s0 +// CHECK-ASM: pnclipri.b a0, s0 # encoding: [0x1b,0xc5,0x08,0x71] + +pnclipri.h s2, t5 +// CHECK-ASM: pnclipri.h s2, t5 # encoding: [0x1b,0xc9,0x0e,0x72] + +nclipri t3, s0 +// CHECK-ASM: nclipri t3, s0 # encoding: [0x1b,0xce,0x08,0x74] + +pnsrl.bs t3, s0, a4 +// CHECK-ASM: pnsrl.bs t3, s0, a4 # encoding: [0x1b,0xce,0xe8,0x08] + +pnsrl.hs a2, t1, a4 +// CHECK-ASM: pnsrl.hs a2, t1, a4 # encoding: [0x1b,0xc6,0xe6,0x0a] + +nsrl a2, a2, a0 +// CHECK-ASM: nsrl a2, a2, a0 # encoding: [0x1b,0xc6,0xac,0x0e] + +pnclipu.bs a4, t5, a2 +// CHECK-ASM: pnclipu.bs a4, t5, a2 # encoding: [0x1b,0xc7,0xce,0x28] + +pnclipu.hs t1, a2, a4 +// CHECK-ASM: pnclipu.hs t1, a2, a4 # encoding: [0x1b,0xc3,0xec,0x2a] + +nclipu t5, s2, t1 +// CHECK-ASM: nclipu t5, s2, t1 # encoding: [0x1b,0xcf,0x62,0x2e] + +pnclipru.bs t5, s2, s2 +// CHECK-ASM: pnclipru.bs t5, s2, s2 # encoding: [0x1b,0xcf,0x22,0x39] + +pnclipru.hs t5, s2, a0 +// CHECK-ASM: pnclipru.hs t5, s2, a0 # encoding: [0x1b,0xcf,0xa2,0x3a] + +nclipru a4, t5, t5 +// CHECK-ASM: nclipru a4, t5, t5 # encoding: [0x1b,0xc7,0xee,0x3f] + +pnsra.bs a4, t1, a4 +// CHECK-ASM: pnsra.bs a4, t1, a4 # encoding: [0x1b,0xc7,0xe6,0x48] + +pnsra.hs s0, s2, t3 +// CHECK-ASM: pnsra.hs s0, s2, t3 # encoding: [0x1b,0xc4,0xc2,0x4b] + +nsra t1, s0, a4 +// CHECK-ASM: nsra t1, s0, a4 # encoding: [0x1b,0xc3,0xe8,0x4e] + +pnsrar.bs a2, s0, a4 +// CHECK-ASM: pnsrar.bs a2, s0, a4 # encoding: [0x1b,0xc6,0xe8,0x58] + +pnsrar.hs s0, a4, a0 +// CHECK-ASM: pnsrar.hs s0, a4, a0 # encoding: [0x1b,0xc4,0xae,0x5a] + +nsrar a4, a4, s0 +// CHECK-ASM: nsrar a4, a4, s0 # encoding: [0x1b,0xc7,0x8e,0x5e] + +pnclip.bs t1, t5, t3 +// CHECK-ASM: pnclip.bs t1, t5, t3 # encoding: [0x1b,0xc3,0xce,0x69] + +pnclip.hs a0, a2, a0 +// CHECK-ASM: pnclip.hs a0, a2, a0 # encoding: [0x1b,0xc5,0xac,0x6a] + +nclip t3, t5, t3 +// CHECK-ASM: nclip t3, t5, t3 # encoding: [0x1b,0xce,0xce,0x6f] + +pnclipr.bs t1, a2, a0 +// CHECK-ASM: pnclipr.bs t1, a2, a0 # encoding: [0x1b,0xc3,0xac,0x78] + +pnclipr.hs a4, s2, t3 +// CHECK-ASM: pnclipr.hs a4, s2, t3 # encoding: [0x1b,0xc7,0xc2,0x7b] + +nclipr t1, t5, a2 +// CHECK-ASM: nclipr t1, t5, a2 # encoding: [0x1b,0xc3,0xce,0x7e] + +pslli.db a0, s2 +// CHECK-ASM: pslli.db a0, s2 # encoding: [0x1b,0x4a,0x82,0x00] + +pslli.dh t3, t1 +// CHECK-ASM: pslli.dh t3, t1 # encoding: [0x1b,0x4c,0x06,0x01] + +pslli.dw a4, t3 +// CHECK-ASM: pslli.dw a4, t3 # encoding: [0x1b,0x4e,0x0c,0x02] + +psslai.dh t1, a4 +// CHECK-ASM: psslai.dh t1, a4 # encoding: [0x1b,0x46,0x0e,0x51] + +psslai.dw a0, t3 +// CHECK-ASM: psslai.dw a0, t3 # encoding: [0x1b,0x4a,0x0c,0x52] + +psext.dh.b t1, t5 ---------------- topperc wrote:
If I disassembled this correctly, the `rdp` field has a value of 0b0110. `t1` is register x6, but if we're supposed to encode pairs, there's a missing divide by 2. I expect if you test disassembly you'll see that registers x16-x31 don't round trip correctly. https://github.com/llvm/llvm-project/pull/123271 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits