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