@@ -55,3 +55,42 @@ body: |
55
55
%mask:vmv0 = COPY $v0
56
56
%y:vrnov0 = PseudoVMERGE_VVM_M1 %passthru, %passthru, %x, %mask, %avl, 5 /* e32 */
57
57
...
58
+ ---
59
+ name : vnclip_move_past_passthru
60
+ body : |
61
+ bb.0:
62
+ liveins: $x8, $v0, $v8
63
+ ; CHECK-LABEL: name: vnclip_move_past_passthru
64
+ ; CHECK: liveins: $x8, $v0, $v8
65
+ ; CHECK-NEXT: {{ $}}
66
+ ; CHECK-NEXT: %avl:gprnox0 = COPY $x8
67
+ ; CHECK-NEXT: %passthru:vrnov0 = COPY $v8
68
+ ; CHECK-NEXT: %mask:vmv0 = COPY $v0
69
+ ; CHECK-NEXT: %y:vrnov0 = PseudoVNCLIPU_WV_MF2_MASK %passthru, $noreg, $noreg, %mask, 0, %avl, 5 /* e32 */, 0 /* tu, mu */, implicit-def $vxsat
70
+ %avl:gprnox0 = COPY $x8
71
+ %x:vr = PseudoVNCLIPU_WV_MF2 $noreg, $noreg, $noreg, 0, -1, 5, 3, implicit-def $vxsat
72
+ %passthru:vrnov0 = COPY $v8
73
+ %mask:vmv0 = COPY $v0
74
+ %y:vrnov0 = PseudoVMERGE_VVM_M1 %passthru, %passthru, %x, %mask, %avl, 5 /* e32 */
75
+ ...
76
+ ---
77
+ name : vnclip_cant_move_past_passthru
78
+ body : |
79
+ bb.0:
80
+ liveins: $x8, $v0, $v8
81
+ ; CHECK-LABEL: name: vnclip_cant_move_past_passthru
82
+ ; CHECK: liveins: $x8, $v0, $v8
83
+ ; CHECK-NEXT: {{ $}}
84
+ ; CHECK-NEXT: %avl:gprnox0 = COPY $x8
85
+ ; CHECK-NEXT: %x:vr = PseudoVNCLIPU_WV_MF2 $noreg, $noreg, $noreg, 0, -1, 5 /* e32 */, 3 /* ta, ma */, implicit-def $vxsat
86
+ ; CHECK-NEXT: %vxsat:gpr = COPY $vxsat
87
+ ; CHECK-NEXT: %passthru:vrnov0 = COPY $v8
88
+ ; CHECK-NEXT: %mask:vmv0 = COPY $v0
89
+ ; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VVM_M1 %passthru, %passthru, %x, %mask, %avl, 5 /* e32 */
90
+ %avl:gprnox0 = COPY $x8
91
+ %x:vr = PseudoVNCLIPU_WV_MF2 $noreg, $noreg, $noreg, 0, -1, 5, 3, implicit-def $vxsat
92
+ %vxsat:gpr = COPY $vxsat
93
+ %passthru:vrnov0 = COPY $v8
94
+ %mask:vmv0 = COPY $v0
95
+ %y:vrnov0 = PseudoVMERGE_VVM_M1 %passthru, %passthru, %x, %mask, %avl, 5 /* e32 */
96
+ ...
0 commit comments