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.8 XTYPE/SHIFT 3f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 4f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Shift by immediate 5f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 14 80 6f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = asr(r21:20, #31) 7f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 14 80 8f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = lsr(r21:20, #31) 9f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 14 80 10f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = asl(r21:20, #31) 11f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 15 8c 12f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = asr(r21, #31) 13f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 15 8c 14f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = lsr(r21, #31) 15f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 15 8c 16f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = asl(r21, #31) 17f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 18f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Shift by immediate and accumulate 19f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 14 82 20f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= asr(r21:20, #31) 21f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 14 82 22f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= lsr(r21:20, #31) 23f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 14 82 24f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= asl(r21:20, #31) 25f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 df 14 82 26f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += asr(r21:20, #31) 27f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 14 82 28f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += lsr(r21:20, #31) 29f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 df 14 82 30f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += asl(r21:20, #31) 31f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 15 8e 32f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= asr(r21, #31) 33f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 15 8e 34f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= lsr(r21, #31) 35f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 15 8e 36f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= asl(r21, #31) 37f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df 15 8e 38f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += asr(r21, #31) 39f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df 15 8e 40f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += lsr(r21, #31) 41f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df 15 8e 42f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += asl(r21, #31) 43f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 4c f7 11 de 44f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(#21, asl(r17, #23)) 45f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 4e f7 11 de 46f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = sub(#21, asl(r17, #23)) 47f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 5c f7 11 de 48f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(#21, lsr(r17, #23)) 49f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 5e f7 11 de 50f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = sub(#21, lsr(r17, #23)) 51f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 52f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Shift by immediate and add 53f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 d5 1f c4 54f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = addasl(r21, r31, #7) 55f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 56f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Shift by immediate and logical 57f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 54 82 58f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 &= asr(r21:20, #31) 59f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 54 82 60f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 &= lsr(r21:20, #31) 61f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 54 82 62f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 &= asl(r21:20, #31) 63f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 df 54 82 64f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 |= asr(r21:20, #31) 65f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 54 82 66f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 |= lsr(r21:20, #31) 67f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 df 54 82 68f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 |= asl(r21:20, #31) 69f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 94 82 70f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 ^= lsr(r21:20, #31) 71f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 94 82 72f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 ^= asl(r21:20, #31) 73f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 55 8e 74f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 &= asr(r21, #31) 75f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 55 8e 76f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 &= lsr(r21, #31) 77f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 55 8e 78f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 &= asl(r21, #31) 79f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df 55 8e 80f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 |= asr(r21, #31) 81f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df 55 8e 82f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 |= lsr(r21, #31) 83f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df 55 8e 84f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 |= asl(r21, #31) 85f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 95 8e 86f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 ^= lsr(r21, #31) 87f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 95 8e 88f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 ^= asl(r21, #31) 89f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 48 ff 11 de 90f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = and(#21, asl(r17, #31)) 91f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 4a ff 11 de 92f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = or(#21, asl(r17, #31)) 93f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 58 ff 11 de 94f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = and(#21, lsr(r17, #31)) 95f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 5a ff 11 de 96f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = or(#21, lsr(r17, #31)) 97f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 98f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Shift right by immediate with rounding 99f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df d4 80 100f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = asr(r21:20, #31):rnd 101f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 55 8c 102f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = asr(r21, #31):rnd 103f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 104f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Shift left by immediate with saturation 105f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 55 8c 106f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = asl(r21, #31):sat 107f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 108f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Shift by register 109f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 94 c3 110f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = asr(r21:20, r31) 111f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 94 c3 112f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = lsr(r21:20, r31) 113f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 df 94 c3 114f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = asl(r21:20, r31) 115f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 df 94 c3 116f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = lsl(r21:20, r31) 117f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 55 c6 118f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = asr(r21, r31) 119f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 55 c6 120f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = lsr(r21, r31) 121f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df 55 c6 122f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = asl(r21, r31) 123f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df 55 c6 124f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = lsl(r21, r31) 125f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 8a c6 126f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = lsl(#21, r31) 127f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 128f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Shift by register and accumulate 129f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 94 cb 130f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= asr(r21:20, r31) 131f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 94 cb 132f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= lsr(r21:20, r31) 133f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 df 94 cb 134f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= asl(r21:20, r31) 135f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 df 94 cb 136f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= lsl(r21:20, r31) 137f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df d4 cb 138f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += asr(r21:20, r31) 139f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df d4 cb 140f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += lsr(r21:20, r31) 141f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 df d4 cb 142f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += asl(r21:20, r31) 143f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 df d4 cb 144f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += lsl(r21:20, r31) 145f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 95 cc 146f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= asr(r21, r31) 147f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 95 cc 148f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= lsr(r21, r31) 149f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df 95 cc 150f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= asl(r21, r31) 151f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df 95 cc 152f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= lsl(r21, r31) 153f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df d5 cc 154f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += asr(r21, r31) 155f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df d5 cc 156f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += lsr(r21, r31) 157f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df d5 cc 158f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += asl(r21, r31) 159f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df d5 cc 160f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += lsl(r21, r31) 161f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 162f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Shift by register and logical 163f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 14 cb 164f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 |= asr(r21:20, r31) 165f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 14 cb 166f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 |= lsr(r21:20, r31) 167f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 df 14 cb 168f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 |= asl(r21:20, r31) 169f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 df 14 cb 170f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 |= lsl(r21:20, r31) 171f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 54 cb 172f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 &= asr(r21:20, r31) 173f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 54 cb 174f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 &= lsr(r21:20, r31) 175f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 df 54 cb 176f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 &= asl(r21:20, r31) 177f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 df 54 cb 178f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 &= lsl(r21:20, r31) 179f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 74 cb 180f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 ^= asr(r21:20, r31) 181f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 74 cb 182f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 ^= lsr(r21:20, r31) 183f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 df 74 cb 184f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 ^= asl(r21:20, r31) 185f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 df 74 cb 186f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 ^= lsl(r21:20, r31) 187f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 15 cc 188f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 |= asr(r21, r31) 189f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 15 cc 190f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 |= lsr(r21, r31) 191f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df 15 cc 192f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 |= asl(r21, r31) 193f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df 15 cc 194f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 |= lsl(r21, r31) 195f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 55 cc 196f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 &= asr(r21, r31) 197f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 55 cc 198f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 &= lsr(r21, r31) 199f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df 55 cc 200f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 &= asl(r21, r31) 201f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df 55 cc 202f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 &= lsl(r21, r31) 203f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 204f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Shift by register with saturation 205f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 15 c6 206f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = asr(r21, r31):sat 207f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df 15 c6 208f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = asl(r21, r31):sat 209f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 210f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector shift halfwords by immediate 211f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 c5 94 80 212f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vasrh(r21:20, #5) 213f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 c5 94 80 214f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vlsrh(r21:20, #5) 215f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 c5 94 80 216f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vaslh(r21:20, #5) 217f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 218f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector arithmetic shift halfwords with round 219f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 c5 34 80 220f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vasrh(r21:20, #5):raw 221f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 222f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector arithmetic shift halfwords with saturate and pack 223f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 c5 74 88 224f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vasrhub(r21:20, #5):raw 225f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 c5 74 88 226f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vasrhub(r21:20, #5):sat 227f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 228f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector shift halfwords by register 229f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 54 c3 230f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vasrh(r21:20, r31) 231f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 54 c3 232f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vlsrh(r21:20, r31) 233f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 df 54 c3 234f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vaslh(r21:20, r31) 235f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 df 54 c3 236f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vlslh(r21:20, r31) 237f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 238f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector shift words by immediate 239f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 54 80 240f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vasrw(r21:20, #31) 241f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 54 80 242f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vlsrw(r21:20, #31) 243f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 54 80 244f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vaslw(r21:20, #31) 245f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 246f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector shift words by register 247f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 14 c3 248f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vasrw(r21:20, r31) 249f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 14 c3 250f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vlsrw(r21:20, r31) 251f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 df 14 c3 252f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vaslw(r21:20, r31) 253f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 df 14 c3 254f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vlslw(r21:20, r31) 255f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 256f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector shift words with truncate and pack 257f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df d4 88 258f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vasrw(r21:20, #31) 259f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 14 c5 260f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vasrw(r21:20, r31) 261