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.1.3 ALU32/PRED 3f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 4f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional add 5f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 75 74 6f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = add(r21, #31) 7f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 8f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 e3 75 74 9f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 10f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = add(r21, #31) } 11f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 f5 74 12f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = add(r21, #31) 13f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 14f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 e3 f5 74 15f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 16f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = add(r21, #31) } 17f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 15 fb 18f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = add(r21, r31) 19f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 20f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 71 ff 15 fb 21f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 22f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = add(r21, r31) } 23f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 15 fb 24f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = add(r21, r31) 25f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 26f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 ff 15 fb 27f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 28f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = add(r21, r31) } 29f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 30f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional shift halfword 31f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 15 70 32f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = aslh(r21) 33f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 34f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 15 70 35f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 36f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = aslh(r21) } 37f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb 15 70 38f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = aslh(r21) 39f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 40f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef 15 70 41f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 42f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = aslh(r21) } 43f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 35 70 44f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = asrh(r21) 45f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 46f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 35 70 47f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 48f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = asrh(r21) } 49f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb 35 70 50f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = asrh(r21) 51f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 52f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef 35 70 53f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 54f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = asrh(r21) } 55f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 56f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional combine 57f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df 15 fd 58f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17:16 = combine(r21, r31) 59f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df 15 fd 60f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17:16 = combine(r21, r31) 61f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 62f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 70 ff 15 fd 63f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 64f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17:16 = combine(r21, r31) } 65f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 66f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f0 ff 15 fd 67f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 68f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17:16 = combine(r21, r31) } 69f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 70f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional logical operations 71f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 15 f9 72f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = and(r21, r31) 73f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 15 f9 74f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = and(r21, r31) 75f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 76f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 71 ff 15 f9 77f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 78f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = and(r21, r31) } 79f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 80f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 ff 15 f9 81f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 82f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = and(r21, r31) } 83f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 35 f9 84f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = or(r21, r31) 85f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 35 f9 86f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = or(r21, r31) 87f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 88f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 71 ff 35 f9 89f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 90f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = or(r21, r31) } 91f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 92f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 ff 35 f9 93f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 94f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = or(r21, r31) } 95f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 75 f9 96f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = xor(r21, r31) 97f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 75 f9 98f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = xor(r21, r31) 99f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 100f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 71 ff 75 f9 101f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 102f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = xor(r21, r31) } 103f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 104f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 ff 75 f9 105f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 106f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = xor(r21, r31) } 107f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 108f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional subtract 109f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 35 fb 110f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = sub(r31, r21) 111f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 35 fb 112f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = sub(r31, r21) 113f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 114f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 71 ff 35 fb 115f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 116f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = sub(r31, r21) } 117f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 118f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: f1 ff 35 fb 119f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 120f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = sub(r31, r21) } 121f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 122f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional sign extend 123f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 b5 70 124f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = sxtb(r21) 125f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb b5 70 126f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = sxtb(r21) 127f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 128f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 b5 70 129f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 130f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = sxtb(r21) } 131f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 132f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef b5 70 133f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 134f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = sxtb(r21) } 135f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 f5 70 136f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = sxth(r21) 137f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb f5 70 138f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = sxth(r21) 139f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 140f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 f5 70 141f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 142f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = sxth(r21) } 143f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 144f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef f5 70 145f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 146f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = sxth(r21) } 147f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 148f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional transfer 149f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 c2 60 7e 150f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = #21 151f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 c2 e0 7e 152f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = #21 153f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 154f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: b1 e2 60 7e 155f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 156f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = #21 } 157f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 158f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: b1 e2 e0 7e 159f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 160f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = #21 } 161f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 162f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Conditional zero extend 163f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 95 70 164f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = zxtb(r21) 165f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb 95 70 166f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = zxtb(r21) 167f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 168f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 95 70 169f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 170f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = zxtb(r21) } 171f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 172f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef 95 70 173f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 174f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = zxtb(r21) } 175f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 e3 d5 70 176f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (p3) r17 = zxth(r21) 177f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 eb d5 70 178f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarif (!p3) r17 = zxth(r21) 179f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 180f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 e7 d5 70 181f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 182f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (p3.new) r17 = zxth(r21) } 183f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 40 45 85 184f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK-NEXT: 11 ef d5 70 185f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar{ p3 = r5 186f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar if (!p3.new) r17 = zxth(r21) } 187f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 188f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Compare 189f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: e3 c3 15 75 190f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.eq(r21, #31) 191f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f3 c3 15 75 192f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.eq(r21, #31) 193f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: e3 c3 55 75 194f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.gt(r21, #31) 195f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f3 c3 55 75 196f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.gt(r21, #31) 197f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: e3 c3 95 75 198f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.gtu(r21, #31) 199f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f3 c3 95 75 200f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.gtu(r21, #31) 201f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 df 15 f2 202f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.eq(r21, r31) 203f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 13 df 15 f2 204f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.eq(r21, r31) 205f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 df 55 f2 206f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.gt(r21, r31) 207f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 13 df 55 f2 208f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.gt(r21, r31) 209f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 03 df 75 f2 210f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = cmp.gtu(r21, r31) 211f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 13 df 75 f2 212f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarp3 = !cmp.gtu(r21, r31) 213f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar 214f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Compare to general register 215f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 e3 55 73 216f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = cmp.eq(r21, #31) 217f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 e3 75 73 218f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = !cmp.eq(r21, #31) 219f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 55 f3 220f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = cmp.eq(r21, r31) 221f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 75 f3 222f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = !cmp.eq(r21, r31) 223