1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -arch=hexagon -mcpu=hexagonv60 -mattr=+hvx -filetype=obj %s | llvm-objdump -arch=hexagon -mcpu=hexagonv60 -d - | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker.L0: 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker# CHECK: 5c00c000 { if (p0) jump:nt 6*9880d681SAndroid Build Coastguard Workerif (p0) jump .L0 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker# CHECK: 5cffe1fe { if (!p1) jump:nt 9*9880d681SAndroid Build Coastguard Workerif (!p1) jump .L0 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker# CHECK: 5340c200 { if (p2) jumpr:nt 12*9880d681SAndroid Build Coastguard Workerif (p2) jumpr r0 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker# CHECK: 5361c300 { if (!p3) jumpr:nt 15*9880d681SAndroid Build Coastguard Workerif (!p3) jumpr r1 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker# CHECK: 1c2eceee { v14 = vxor(v14,{{ *}}v14) } 18*9880d681SAndroid Build Coastguard Workerv14 = #0 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker# CHECK: 1c80c0a0 { v1:0.w = vsub(v1:0.w,v1:0.w) } 21*9880d681SAndroid Build Coastguard Workerv1:0 = #0 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker# CHECK: 1f42c3e0 { v1:0 = vcombine(v3,v2) } 24*9880d681SAndroid Build Coastguard Workerv1:0 = v3:2 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Worker# CHECK: 1f90cf00 { q0 = vcmp.eq(v15.b,v16.b) } 27*9880d681SAndroid Build Coastguard Workerq0 = vcmp.eq(v15.ub, v16.ub) 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Worker# CHECK: 1c92f101 { q1 &= vcmp.eq(v17.b,v18.b) } 30*9880d681SAndroid Build Coastguard Workerq1 &= vcmp.eq(v17.ub, v18.ub) 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Worker# CHECK: 1c94f342 { q2 |= vcmp.eq(v19.b,v20.b) } 33*9880d681SAndroid Build Coastguard Workerq2 |= vcmp.eq(v19.ub, v20.ub) 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker# CHECK: 1c96f583 { q3 ^= vcmp.eq(v21.b,v22.b) } 36*9880d681SAndroid Build Coastguard Workerq3 ^= vcmp.eq(v21.ub, v22.ub) 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Worker# CHECK: 1f81c004 { q0 = vcmp.eq(v0.h,v1.h) } 39*9880d681SAndroid Build Coastguard Workerq0 = vcmp.eq(v0.uh, v1.uh) 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker# CHECK: 1c83e205 { q1 &= vcmp.eq(v2.h,v3.h) } 42*9880d681SAndroid Build Coastguard Workerq1 &= vcmp.eq(v2.uh, v3.uh) 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Worker# CHECK: 1c85e446 { q2 |= vcmp.eq(v4.h,v5.h) } 45*9880d681SAndroid Build Coastguard Workerq2 |= vcmp.eq(v4.uh, v5.uh) 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Worker# CHECK: 1c87e687 { q3 ^= vcmp.eq(v6.h,v7.h) } 48*9880d681SAndroid Build Coastguard Workerq3 ^= vcmp.eq(v6.uh, v7.uh) 49*9880d681SAndroid Build Coastguard Worker 50*9880d681SAndroid Build Coastguard Worker# CHECK: 1f89c808 { q0 = vcmp.eq(v8.w,v9.w) } 51*9880d681SAndroid Build Coastguard Workerq0 = vcmp.eq(v8.uw, v9.uw) 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Worker# CHECK: 1c8aea09 { q1 &= vcmp.eq(v10.w,v10.w) } 54*9880d681SAndroid Build Coastguard Workerq1 &= vcmp.eq(v10.uw, v10.uw) 55*9880d681SAndroid Build Coastguard Worker 56*9880d681SAndroid Build Coastguard Worker# CHECK: 1c8ceb46 { q2 |= vcmp.eq(v11.h,v12.h) } 57*9880d681SAndroid Build Coastguard Workerq2 |= vcmp.eq(v11.uw, v12.uw) 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Worker# CHECK: 1c8eed8b { q3 ^= vcmp.eq(v13.w,v14.w) } 60*9880d681SAndroid Build Coastguard Workerq3 ^= vcmp.eq(v13.uw, v14.uw) 61*9880d681SAndroid Build Coastguard Worker 62*9880d681SAndroid Build Coastguard Worker# CHECK: 2800c00f { v15 = vmem(r0+#0) } 63*9880d681SAndroid Build Coastguard Workerv15 = vmem(r0) 64*9880d681SAndroid Build Coastguard Worker 65*9880d681SAndroid Build Coastguard Worker# CHECK: 2841c010 { v16 = vmem(r1+#0):nt } 66*9880d681SAndroid Build Coastguard Workerv16 = vmem(r1):nt 67*9880d681SAndroid Build Coastguard Worker 68*9880d681SAndroid Build Coastguard Worker# CHECK: 2822c011 { vmem(r2+#0) = v17 } 69*9880d681SAndroid Build Coastguard Workervmem(r2) = v17 70*9880d681SAndroid Build Coastguard Worker 71*9880d681SAndroid Build Coastguard Worker# CHECK: 2863c012 { vmem(r3+#0):nt = v18 } 72*9880d681SAndroid Build Coastguard Workervmem(r3):nt = v18 73*9880d681SAndroid Build Coastguard Worker 74*9880d681SAndroid Build Coastguard Worker# CHECK: 2884c013 { if (q0) vmem(r4+#0) = v19 } 75*9880d681SAndroid Build Coastguard Workerif (q0) vmem(r4) = v19 76*9880d681SAndroid Build Coastguard Worker 77*9880d681SAndroid Build Coastguard Worker# CHECK: 2885c834 { if (!q1) vmem(r5+#0) = v20 } 78*9880d681SAndroid Build Coastguard Workerif (!q1) vmem(r5) = v20 79*9880d681SAndroid Build Coastguard Worker 80*9880d681SAndroid Build Coastguard Worker# CHECK: 28c6d015 { if (q2) vmem(r6+#0):nt = v21 } 81*9880d681SAndroid Build Coastguard Workerif (q2) vmem(r6):nt = v21 82*9880d681SAndroid Build Coastguard Worker 83*9880d681SAndroid Build Coastguard Worker# CHECK: 28c7d836 { if (!q3) vmem(r7+#0):nt = v22 } 84*9880d681SAndroid Build Coastguard Workerif (!q3) vmem(r7):nt = v22 85*9880d681SAndroid Build Coastguard Worker 86*9880d681SAndroid Build Coastguard Worker# CHECK: 28a8c017 { if (p0) vmem(r8+#0) = v23 } 87*9880d681SAndroid Build Coastguard Workerif (p0) vmem(r8) = v23 88*9880d681SAndroid Build Coastguard Worker 89*9880d681SAndroid Build Coastguard Worker# CHECK: 28a9c838 { if (!p1) vmem(r9+#0) = v24 } 90*9880d681SAndroid Build Coastguard Workerif (!p1) vmem(r9) = v24 91*9880d681SAndroid Build Coastguard Worker 92*9880d681SAndroid Build Coastguard Worker# CHECK: 28ead019 { if (p2) vmem(r10+#0):nt = v25 } 93*9880d681SAndroid Build Coastguard Workerif (p2) vmem(r10):nt = v25 94*9880d681SAndroid Build Coastguard Worker 95*9880d681SAndroid Build Coastguard Worker# CHECK: 28ebd83a { if (!p3) vmem(r11+#0):nt = v26 } 96*9880d681SAndroid Build Coastguard Workerif (!p3) vmem(r11):nt = v26 97*9880d681SAndroid Build Coastguard Worker 98*9880d681SAndroid Build Coastguard Worker# CHECK: 282cc022 vmem(r12+#0) = v27.new 99*9880d681SAndroid Build Coastguard Worker{ 100*9880d681SAndroid Build Coastguard Worker v27 = vxor(v28, v29) 101*9880d681SAndroid Build Coastguard Worker vmem(r12) = v27.new 102*9880d681SAndroid Build Coastguard Worker} 103*9880d681SAndroid Build Coastguard Worker 104*9880d681SAndroid Build Coastguard Worker# CHECK: 286dc022 vmem(r13+#0):nt = v30.new 105*9880d681SAndroid Build Coastguard Worker{ 106*9880d681SAndroid Build Coastguard Worker v30 = vxor(v31, v0) 107*9880d681SAndroid Build Coastguard Worker vmem(r13):nt = v30.new 108*9880d681SAndroid Build Coastguard Worker} 109*9880d681SAndroid Build Coastguard Worker 110*9880d681SAndroid Build Coastguard Worker# CHECK: 280ec0e1 { v1 = vmemu(r14+#0) } 111*9880d681SAndroid Build Coastguard Workerv1 = vmemu(r14) 112*9880d681SAndroid Build Coastguard Worker 113*9880d681SAndroid Build Coastguard Worker# CHECK: 282fc0e2 { vmemu(r15+#0) = v2 } 114*9880d681SAndroid Build Coastguard Workervmemu(r15) = v2 115*9880d681SAndroid Build Coastguard Worker 116*9880d681SAndroid Build Coastguard Worker# CHECK: 28b0c0c3 { if (p0) vmemu(r16+#0) = v3 } 117*9880d681SAndroid Build Coastguard Workerif (p0) vmemu(r16) = v3 118*9880d681SAndroid Build Coastguard Worker 119*9880d681SAndroid Build Coastguard Worker# CHECK: 28b1c8e4 { if (!p1) vmemu(r17+#0) = v4 } 120*9880d681SAndroid Build Coastguard Workerif (!p1) vmemu(r17) = v4 121*9880d681SAndroid Build Coastguard Worker 122