8
8
define i32 @masked_merge0 (i32 %a0 , i32 %a1 , i32 %a2 ) {
9
9
; NO-MISC3-LABEL: masked_merge0:
10
10
; NO-MISC3: # %bb.0:
11
- ; NO-MISC3-NEXT: nr %r3, %r2
12
- ; NO-MISC3-NEXT: xilf %r2, 4294967295
13
- ; NO-MISC3-NEXT: nr %r2, %r4
14
- ; NO-MISC3-NEXT: or %r2, %r3
11
+ ; NO-MISC3-NEXT: xr %r3, %r4
12
+ ; NO-MISC3-NEXT: nr %r2, %r3
13
+ ; NO-MISC3-NEXT: xr %r2, %r4
15
14
; NO-MISC3-NEXT: br %r14
16
15
;
17
16
; MISC3-LABEL: masked_merge0:
@@ -30,17 +29,16 @@ define i32 @masked_merge0(i32 %a0, i32 %a1, i32 %a2) {
30
29
define i16 @masked_merge1 (i16 %a0 , i16 %a1 , i16 %a2 ) {
31
30
; NO-MISC3-LABEL: masked_merge1:
32
31
; NO-MISC3: # %bb.0:
33
- ; NO-MISC3-NEXT: nr %r3, %r2
34
- ; NO-MISC3-NEXT: xilf %r2, 4294967295
35
- ; NO-MISC3-NEXT: nr %r2, %r4
36
- ; NO-MISC3-NEXT: or %r2, %r3
32
+ ; NO-MISC3-NEXT: xr %r3, %r4
33
+ ; NO-MISC3-NEXT: nr %r2, %r3
34
+ ; NO-MISC3-NEXT: xr %r2, %r4
37
35
; NO-MISC3-NEXT: br %r14
38
36
;
39
37
; MISC3-LABEL: masked_merge1:
40
38
; MISC3: # %bb.0:
41
- ; MISC3-NEXT: nr %r3 , %r2
42
- ; MISC3-NEXT: ncrk %r2, %r4, %r2
43
- ; MISC3-NEXT: or %r2, %r3
39
+ ; MISC3-NEXT: ncrk %r0, %r4 , %r2
40
+ ; MISC3-NEXT: nr %r2, %r3
41
+ ; MISC3-NEXT: or %r2, %r0
44
42
; MISC3-NEXT: br %r14
45
43
%and0 = and i16 %a0 , %a1
46
44
%not = xor i16 %a0 , -1
@@ -52,17 +50,12 @@ define i16 @masked_merge1(i16 %a0, i16 %a1, i16 %a2) {
52
50
define i8 @masked_merge2 (i8 %a0 , i8 %a1 , i8 %a2 ) {
53
51
; NO-MISC3-LABEL: masked_merge2:
54
52
; NO-MISC3: # %bb.0:
55
- ; NO-MISC3-NEXT: nrk %r0, %r3, %r2
56
- ; NO-MISC3-NEXT: xilf %r2, 4294967295
57
- ; NO-MISC3-NEXT: nr %r2, %r3
58
- ; NO-MISC3-NEXT: or %r2, %r0
53
+ ; NO-MISC3-NEXT: lr %r2, %r3
59
54
; NO-MISC3-NEXT: br %r14
60
55
;
61
56
; MISC3-LABEL: masked_merge2:
62
57
; MISC3: # %bb.0:
63
- ; MISC3-NEXT: ncrk %r0, %r3, %r2
64
- ; MISC3-NEXT: nr %r2, %r3
65
- ; MISC3-NEXT: or %r2, %r0
58
+ ; MISC3-NEXT: lr %r2, %r3
66
59
; MISC3-NEXT: br %r14
67
60
%not = xor i8 %a0 , -1
68
61
%and0 = and i8 %not , %a1
@@ -76,12 +69,10 @@ define i64 @masked_merge3(i64 %a0, i64 %a1, i64 %a2) {
76
69
; NO-MISC3: # %bb.0:
77
70
; NO-MISC3-NEXT: lcgr %r0, %r4
78
71
; NO-MISC3-NEXT: aghi %r0, -1
79
- ; NO-MISC3-NEXT: lgr %r1, %r0
80
- ; NO-MISC3-NEXT: ngr %r1, %r2
72
+ ; NO-MISC3-NEXT: xgr %r3, %r0
81
73
; NO-MISC3-NEXT: ngr %r3, %r2
82
- ; NO-MISC3-NEXT: xgr %r1, %r0
83
74
; NO-MISC3-NEXT: xgr %r3, %r2
84
- ; NO-MISC3-NEXT: ogrk %r2, %r1 , %r3
75
+ ; NO-MISC3-NEXT: xgrk %r2, %r3 , %r0
85
76
; NO-MISC3-NEXT: br %r14
86
77
;
87
78
; MISC3-LABEL: masked_merge3:
0 commit comments