[InstCombine] Signed saturation patterns
[llvm-core.git] / test / MC / Hexagon / v60-vcmp.s
blob712f570f99ed654b3fab997fc33d36d5e9eae382
1 #RUN: llvm-mc -triple=hexagon -mcpu=hexagonv60 -filetype=obj -mhvx %s | \
2 #RUN: llvm-objdump -triple=hexagon -mcpu=hexagonv60 -mhvx -d - | \
3 #RUN: FileCheck %s
5 #CHECK: 1c81f142 { q2 |= vcmp.eq(v17.b{{ *}},{{ *}}v1.b) }
6 q2|=vcmp.eq(v17.b,v1.b)
8 #CHECK: 1c84fb2a { q2 &= vcmp.gt(v27.uw{{ *}},{{ *}}v4.uw) }
9 q2&=vcmp.gt(v27.uw,v4.uw)
11 #CHECK: 1c8cf826 { q2 &= vcmp.gt(v24.uh{{ *}},{{ *}}v12.uh) }
12 q2&=vcmp.gt(v24.uh,v12.uh)
14 #CHECK: 1c80e720 { q0 &= vcmp.gt(v7.ub{{ *}},{{ *}}v0.ub) }
15 q0&=vcmp.gt(v7.ub,v0.ub)
17 #CHECK: 1c9aed1a { q2 &= vcmp.gt(v13.w{{ *}},{{ *}}v26.w) }
18 q2&=vcmp.gt(v13.w,v26.w)
20 #CHECK: 1c8de516 { q2 &= vcmp.gt(v5.h{{ *}},{{ *}}v13.h) }
21 q2&=vcmp.gt(v5.h,v13.h)
23 #CHECK: 1c8dfc11 { q1 &= vcmp.gt(v28.b{{ *}},{{ *}}v13.b) }
24 q1&=vcmp.gt(v28.b,v13.b)
26 #CHECK: 1c94fa0b { q3 &= vcmp.eq(v26.w{{ *}},{{ *}}v20.w) }
27 q3&=vcmp.eq(v26.w,v20.w)
29 #CHECK: 1c83e206 { q2 &= vcmp.eq(v2.h{{ *}},{{ *}}v3.h) }
30 q2&=vcmp.eq(v2.h,v3.h)
32 #CHECK: 1c85e900 { q0 &= vcmp.eq(v9.b{{ *}},{{ *}}v5.b) }
33 q0&=vcmp.eq(v9.b,v5.b)
35 #CHECK: 1c9cfca8 { q0 ^= vcmp.gt(v28.uw{{ *}},{{ *}}v28.uw) }
36 q0^=vcmp.gt(v28.uw,v28.uw)
38 #CHECK: 1c81faa0 { q0 ^= vcmp.gt(v26.ub{{ *}},{{ *}}v1.ub) }
39 q0^=vcmp.gt(v26.ub,v1.ub)
41 #CHECK: 1c96f0a4 { q0 ^= vcmp.gt(v16.uh{{ *}},{{ *}}v22.uh) }
42 q0^=vcmp.gt(v16.uh,v22.uh)
44 #CHECK: 1c9bf795 { q1 ^= vcmp.gt(v23.h{{ *}},{{ *}}v27.h) }
45 q1^=vcmp.gt(v23.h,v27.h)
47 #CHECK: 1c9de698 { q0 ^= vcmp.gt(v6.w{{ *}},{{ *}}v29.w) }
48 q0^=vcmp.gt(v6.w,v29.w)
50 #CHECK: 1c82ef8a { q2 ^= vcmp.eq(v15.w{{ *}},{{ *}}v2.w) }
51 q2^=vcmp.eq(v15.w,v2.w)
53 #CHECK: 1c99e891 { q1 ^= vcmp.gt(v8.b{{ *}},{{ *}}v25.b) }
54 q1^=vcmp.gt(v8.b,v25.b)
56 #CHECK: 1c8afe55 { q1 |= vcmp.gt(v30.h{{ *}},{{ *}}v10.h) }
57 q1|=vcmp.gt(v30.h,v10.h)
59 #CHECK: 1c92ef50 { q0 |= vcmp.gt(v15.b{{ *}},{{ *}}v18.b) }
60 q0|=vcmp.gt(v15.b,v18.b)
62 #CHECK: 1c9ffb4b { q3 |= vcmp.eq(v27.w{{ *}},{{ *}}v31.w) }
63 q3|=vcmp.eq(v27.w,v31.w)
65 #CHECK: 1c87e944 { q0 |= vcmp.eq(v9.h{{ *}},{{ *}}v7.h) }
66 q0|=vcmp.eq(v9.h,v7.h)
68 #CHECK: 1c8ee768 { q0 |= vcmp.gt(v7.uw{{ *}},{{ *}}v14.uw) }
69 q0|=vcmp.gt(v7.uw,v14.uw)
71 #CHECK: 1c92e265 { q1 |= vcmp.gt(v2.uh{{ *}},{{ *}}v18.uh) }
72 q1|=vcmp.gt(v2.uh,v18.uh)
74 #CHECK: 1c80f062 { q2 |= vcmp.gt(v16.ub{{ *}},{{ *}}v0.ub) }
75 q2|=vcmp.gt(v16.ub,v0.ub)
77 #CHECK: 1c91f75a { q2 |= vcmp.gt(v23.w{{ *}},{{ *}}v17.w) }
78 q2|=vcmp.gt(v23.w,v17.w)
80 #CHECK: 1c86fe84 { q0 ^= vcmp.eq(v30.h{{ *}},{{ *}}v6.h) }
81 q0^=vcmp.eq(v30.h,v6.h)
83 #CHECK: 1c86ec82 { q2 ^= vcmp.eq(v12.b{{ *}},{{ *}}v6.b) }
84 q2^=vcmp.eq(v12.b,v6.b)