1f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# RUN: llvm-mc -triple=hexagon -filetype=obj -o - %s | llvm-objdump -d - | FileCheck %s 2f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Hexagon Programmer's Reference Manual 11.10.5 XTYPE/MPY 3f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 4f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Multiply and use lower result 5f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df 35 d7 6f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(#21, mpyi(r21, r31)) 7f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: bf d1 35 d8 8f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(#21, mpyi(r21, #31)) 9f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b5 d1 3f df 10f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(r21, mpyi(#84, r31)) 11f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f5 f1 b5 df 12f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(r21, mpyi(r21, #31)) 13f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 15 d1 1f e3 14f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(r21, mpyi(r17, r31)) 15f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 15 e0 16f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 =+ mpyi(r21, #31) 17f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 95 e0 18f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 =- mpyi(r21, #31) 19f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 15 e1 20f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyi(r21, #31) 21f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 95 e1 22f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpyi(r21, #31) 23f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 15 ed 24f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyi(r21, r31) 25f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 15 ef 26f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyi(r21, r31) 27f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 28f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply word by signed half (32x16) 29f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 14 e8 30f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweh(r21:20, r31:30):sat 31f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 94 e8 32f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweh(r21:20, r31:30):<<1:sat 33f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 14 e8 34f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywoh(r21:20, r31:30):sat 35f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 94 e8 36f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywoh(r21:20, r31:30):<<1:sat 37f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 34 e8 38f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweh(r21:20, r31:30):rnd:sat 39f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de b4 e8 40f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweh(r21:20, r31:30):<<1:rnd:sat 41f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 34 e8 42f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywoh(r21:20, r31:30):rnd:sat 43f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de b4 e8 44f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywoh(r21:20, r31:30):<<1:rnd:sat 45f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 14 ea 46f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweh(r21:20, r31:30):sat 47f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 94 ea 48f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweh(r21:20, r31:30):<<1:sat 49f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 14 ea 50f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywoh(r21:20, r31:30):sat 51f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 94 ea 52f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywoh(r21:20, r31:30):<<1:sat 53f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 34 ea 54f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweh(r21:20, r31:30):rnd:sat 55f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de b4 ea 56f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweh(r21:20, r31:30):<<1:rnd:sat 57f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 34 ea 58f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywoh(r21:20, r31:30):rnd:sat 59f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de b4 ea 60f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywoh(r21:20, r31:30):<<1:rnd:sat 61f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 62f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply word by unsigned half (32x16) 63f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 54 e8 64f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweuh(r21:20, r31:30):sat 65f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de d4 e8 66f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweuh(r21:20, r31:30):<<1:sat 67f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 54 e8 68f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywouh(r21:20, r31:30):sat 69f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de d4 e8 70f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywouh(r21:20, r31:30):<<1:sat 71f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 74 e8 72f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweuh(r21:20, r31:30):rnd:sat 73f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de f4 e8 74f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweuh(r21:20, r31:30):<<1:rnd:sat 75f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 74 e8 76f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywouh(r21:20, r31:30):rnd:sat 77f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de f4 e8 78f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywouh(r21:20, r31:30):<<1:rnd:sat 79f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 54 ea 80f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweuh(r21:20, r31:30):sat 81f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de d4 ea 82f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweuh(r21:20, r31:30):<<1:sat 83f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 54 ea 84f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywouh(r21:20, r31:30):sat 85f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de d4 ea 86f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywouh(r21:20, r31:30):<<1:sat 87f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 74 ea 88f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweuh(r21:20, r31:30):rnd:sat 89f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de f4 ea 90f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweuh(r21:20, r31:30):<<1:rnd:sat 91f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 74 ea 92f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywouh(r21:20, r31:30):rnd:sat 93f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de f4 ea 94f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywouh(r21:20, r31:30):<<1:rnd:sat 95f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 96f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Multiply signed halfwords 97f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 95 e4 98f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.l, r31.l):<<1 99f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 95 e4 100f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.l, r31.h):<<1 101f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 95 e4 102f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.h, r31.l):<<1 103f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df 95 e4 104f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.h, r31.h):<<1 105f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df b5 e4 106f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.l, r31.l):<<1:rnd 107f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df b5 e4 108f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.l, r31.h):<<1:rnd 109f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df b5 e4 110f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.h, r31.l):<<1:rnd 111f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df b5 e4 112f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.h, r31.h):<<1:rnd 113f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 95 e6 114f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpy(r21.l, r31.l):<<1 115f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 95 e6 116f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpy(r21.l, r31.h):<<1 117f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 95 e6 118f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpy(r21.h, r31.l):<<1 119f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df 95 e6 120f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpy(r21.h, r31.h):<<1 121f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df b5 e6 122f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpy(r21.l, r31.l):<<1 123f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df b5 e6 124f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpy(r21.l, r31.h):<<1 125f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df b5 e6 126f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpy(r21.h, r31.l):<<1 127f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df b5 e6 128f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpy(r21.h, r31.h):<<1 129f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 95 ec 130f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.l):<<1 131f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 95 ec 132f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.h):<<1 133f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 95 ec 134f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.l):<<1 135f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 95 ec 136f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.h):<<1 137f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df 95 ec 138f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.l):<<1:sat 139f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df 95 ec 140f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.h):<<1:sat 141f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df 95 ec 142f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.l):<<1:sat 143f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 95 ec 144f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.h):<<1:sat 145f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df b5 ec 146f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.l):<<1:rnd 147f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df b5 ec 148f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.h):<<1:rnd 149f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df b5 ec 150f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.l):<<1:rnd 151f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df b5 ec 152f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.h):<<1:rnd 153f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df b5 ec 154f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.l):<<1:rnd:sat 155f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df b5 ec 156f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.h):<<1:rnd:sat 157f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df b5 ec 158f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.l):<<1:rnd:sat 159f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df b5 ec 160f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.h):<<1:rnd:sat 161f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 95 ee 162f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.l, r31.l):<<1 163f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 95 ee 164f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.l, r31.h):<<1 165f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 95 ee 166f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.h, r31.l):<<1 167f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 95 ee 168f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.h, r31.h):<<1 169f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df 95 ee 170f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.l, r31.l):<<1:sat 171f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df 95 ee 172f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.l, r31.h):<<1:sat 173f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df 95 ee 174f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.h, r31.l):<<1:sat 175f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 95 ee 176f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.h, r31.h):<<1:sat 177f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df b5 ee 178f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.l, r31.l):<<1 179f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df b5 ee 180f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.l, r31.h):<<1 181f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df b5 ee 182f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.h, r31.l):<<1 183f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df b5 ee 184f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.h, r31.h):<<1 185f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df b5 ee 186f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.l, r31.l):<<1:sat 187f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df b5 ee 188f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.l, r31.h):<<1:sat 189f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df b5 ee 190f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.h, r31.l):<<1:sat 191f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df b5 ee 192f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.h, r31.h):<<1:sat 193f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 194f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Multiply unsigned halfwords 195f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df d5 e4 196f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpyu(r21.l, r31.l):<<1 197f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df d5 e4 198f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpyu(r21.l, r31.h):<<1 199f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df d5 e4 200f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpyu(r21.h, r31.l):<<1 201f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df d5 e4 202f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpyu(r21.h, r31.h):<<1 203f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df d5 e6 204f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpyu(r21.l, r31.l):<<1 205f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df d5 e6 206f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpyu(r21.l, r31.h):<<1 207f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df d5 e6 208f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpyu(r21.h, r31.l):<<1 209f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df d5 e6 210f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpyu(r21.h, r31.h):<<1 211f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df f5 e6 212f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpyu(r21.l, r31.l):<<1 213f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df f5 e6 214f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpyu(r21.l, r31.h):<<1 215f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df f5 e6 216f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpyu(r21.h, r31.l):<<1 217f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df f5 e6 218f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpyu(r21.h, r31.h):<<1 219f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df d5 ec 220f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyu(r21.l, r31.l):<<1 221f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df d5 ec 222f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyu(r21.l, r31.h):<<1 223f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df d5 ec 224f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyu(r21.h, r31.l):<<1 225f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df d5 ec 226f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyu(r21.h, r31.h):<<1 227f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df d5 ee 228f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyu(r21.l, r31.l):<<1 229f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df d5 ee 230f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyu(r21.l, r31.h):<<1 231f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df d5 ee 232f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyu(r21.h, r31.l):<<1 233f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df d5 ee 234f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyu(r21.h, r31.h):<<1 235f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df f5 ee 236f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpyu(r21.l, r31.l):<<1 237f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df f5 ee 238f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpyu(r21.l, r31.h):<<1 239f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df f5 ee 240f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpyu(r21.h, r31.l):<<1 241f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df f5 ee 242f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpyu(r21.h, r31.h):<<1 243f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 244f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Polynomial multiply words 245f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df 55 e5 246f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = pmpyw(r21, r31) 247f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df 35 e7 248f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 ^= pmpyw(r21, r31) 249f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 250f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector reduce multiply word by signed half (32x16) 251f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 de 34 e8 252f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpywoh(r21:20, r31:30) 253f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 de b4 e8 254f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpywoh(r21:20, r31:30):<<1 255f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de 54 e8 256f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpyweh(r21:20, r31:30) 257f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de d4 e8 258f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpyweh(r21:20, r31:30):<<1 259f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 74 ea 260f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpywoh(r21:20, r31:30) 261f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de f4 ea 262f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpywoh(r21:20, r31:30):<<1 263f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 34 ea 264f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpyweh(r21:20, r31:30) 265f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de b4 ea 266f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpyweh(r21:20, r31:30):<<1 267f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 268f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Multiply and use upper result 269f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 15 ed 270f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31) 271f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 35 ed 272f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31):rnd 273f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 55 ed 274f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyu(r21, r31) 275f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 75 ed 276f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpysu(r21, r31) 277f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df b5 ed 278f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31.h):<<1:sat 279f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df b5 ed 280f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31.l):<<1:sat 281f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df b5 ed 282f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31.h):<<1:rnd:sat 283f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df f5 ed 284f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31):<<1:sat 285f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df f5 ed 286f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31.l):<<1:rnd:sat 287f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df b5 ed 288f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31):<<1 289f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 75 ef 290f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21, r31):<<1:sat 291f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 75 ef 292f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21, r31):<<1:sat 293f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 294f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Multiply and use full result 295f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 15 e5 296f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21, r31) 297f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 55 e5 298f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpyu(r21, r31) 299f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 15 e7 300f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpy(r21, r31) 301f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 35 e7 302f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpy(r21, r31) 303f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 55 e7 304f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpyu(r21, r31) 305f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 75 e7 306f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpyu(r21, r31) 307f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 308f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector dual multiply 309f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de 14 e8 310f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vdmpy(r21:20, r31:30):sat 311f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de 94 e8 312f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vdmpy(r21:20, r31:30):<<1:sat 313f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de 14 ea 314f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vdmpy(r21:20, r31:30):sat 315f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de 94 ea 316f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vdmpy(r21:20, r31:30):<<1:sat 317f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 318f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector dual multiply with round and pack 319f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 de 14 e9 320f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vdmpy(r21:20, r31:30):rnd:sat 321f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 de 94 e9 322f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vdmpy(r21:20, r31:30):<<1:rnd:sat 323f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 324f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector reduce multiply bytes 325f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de 94 e8 326f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpybu(r21:20, r31:30) 327f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de d4 e8 328f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpybsu(r21:20, r31:30) 329f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de 94 ea 330f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpybu(r21:20, r31:30) 331f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de d4 ea 332f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpybsu(r21:20, r31:30) 333f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 334f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector dual multiply signed by unsigned bytes 335f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de b4 e8 336f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vdmpybsu(r21:20, r31:30):sat 337f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de 34 ea 338f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vdmpybsu(r21:20, r31:30):sat 339f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 340f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply even haldwords 341f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 14 e8 342f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyeh(r21:20, r31:30):sat 343f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 94 e8 344f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyeh(r21:20, r31:30):<<1:sat 345f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 de 34 ea 346f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyeh(r21:20, r31:30) 347f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 14 ea 348f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyeh(r21:20, r31:30):sat 349f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 94 ea 350f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyeh(r21:20, r31:30):<<1:sat 351f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 352f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply halfwords 353f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 15 e5 354f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyh(r21, r31):sat 355f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 95 e5 356f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyh(r21, r31):<<1:sat 357f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 35 e7 358f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyh(r21, r31) 359f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 15 e7 360f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyh(r21, r31):sat 361f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 95 e7 362f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyh(r21, r31):<<1:sat 363f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 364f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply halfwords with round and pack 365f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 35 ed 366f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vmpyh(r21, r31):rnd:sat 367f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df b5 ed 368f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vmpyh(r21, r31):<<1:rnd:sat 369f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 370f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply halfwords signed by unsigned 371f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df 15 e5 372f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyhsu(r21, r31):sat 373f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df 95 e5 374f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyhsu(r21, r31):<<1:sat 375f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 75 e7 376f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyhsu(r21, r31):sat 377f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df f5 e7 378f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyhsu(r21, r31):<<1:sat 379f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 380f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector reduce multiply halfwords 381f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 de 14 e8 382f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpyh(r21:20, r31:30) 383f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 de 14 ea 384f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpyh(r21:20, r31:30) 385f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 386f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply bytes 387f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 55 e5 388f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpybsu(r21, r31) 389f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 95 e5 390f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpybu(r21, r31) 391f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 95 e7 392f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpybu(r21, r31) 393f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df d5 e7 394f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpybsu(r21, r31) 395f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 396f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector polynomial multiply halfwords 397f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df d5 e5 398f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vpmpyh(r21, r31) 399f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df b5 e7 400f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 ^= vpmpyh(r21, r31) 401