@@ -14,7 +14,6 @@ define i32 @v_bfe_i32_arg_arg_arg(i32 %src0, i32 %src1, i32 %src2) #0 {
14
14
define amdgpu_ps i32 @s_bfe_i32_arg_arg_arg (i32 inreg %src0 , i32 inreg %src1 , i32 inreg %src2 ) #0 {
15
15
; GFX6-LABEL: s_bfe_i32_arg_arg_arg:
16
16
; GFX6: ; %bb.0:
17
- ; GFX6-NEXT: s_and_b32 s1, s1, 63
18
17
; GFX6-NEXT: s_lshl_b32 s2, s2, 16
19
18
; GFX6-NEXT: s_or_b32 s1, s1, s2
20
19
; GFX6-NEXT: s_bfe_u32 s0, s0, s1
@@ -32,7 +31,6 @@ define amdgpu_ps i32 @s_bfe_i32_arg_arg_arg(i32 inreg %src0, i32 inreg %src1, i3
32
31
define amdgpu_ps i64 @s_bfe_i64_arg_arg_arg (i64 inreg %src0 , i32 inreg %src1 , i32 inreg %src2 ) #0 {
33
32
; GFX6-LABEL: s_bfe_i64_arg_arg_arg:
34
33
; GFX6: ; %bb.0:
35
- ; GFX6-NEXT: s_and_b32 s2, s2, 63
36
34
; GFX6-NEXT: s_lshl_b32 s3, s3, 16
37
35
; GFX6-NEXT: s_or_b32 s2, s2, s3
38
36
; GFX6-NEXT: s_bfe_u64 s[0:1], s[0:1], s2
@@ -46,9 +44,8 @@ define amdgpu_kernel void @bfe_u32_arg_arg_arg(ptr addrspace(1) %out, i32 %src0,
46
44
; GFX6: ; %bb.0:
47
45
; GFX6-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
48
46
; GFX6-NEXT: s_waitcnt lgkmcnt(0)
49
- ; GFX6-NEXT: s_and_b32 s4, s3, 63
50
- ; GFX6-NEXT: s_lshl_b32 s3, s3, 16
51
- ; GFX6-NEXT: s_or_b32 s3, s4, s3
47
+ ; GFX6-NEXT: s_lshl_b32 s4, s3, 16
48
+ ; GFX6-NEXT: s_or_b32 s3, s3, s4
52
49
; GFX6-NEXT: s_bfe_u32 s3, s2, s3
53
50
; GFX6-NEXT: s_mov_b32 s2, -1
54
51
; GFX6-NEXT: v_mov_b32_e32 v0, s3
@@ -65,7 +62,6 @@ define amdgpu_kernel void @bfe_u32_arg_arg_imm(ptr addrspace(1) %out, i32 %src0,
65
62
; GFX6: ; %bb.0:
66
63
; GFX6-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
67
64
; GFX6-NEXT: s_waitcnt lgkmcnt(0)
68
- ; GFX6-NEXT: s_and_b32 s3, s3, 63
69
65
; GFX6-NEXT: s_or_b32 s3, s3, 0x7b0000
70
66
; GFX6-NEXT: s_bfe_u32 s3, s2, s3
71
67
; GFX6-NEXT: s_mov_b32 s2, -1
@@ -84,7 +80,7 @@ define amdgpu_kernel void @bfe_u32_arg_imm_arg(ptr addrspace(1) %out, i32 %src0,
84
80
; GFX6-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
85
81
; GFX6-NEXT: s_waitcnt lgkmcnt(0)
86
82
; GFX6-NEXT: s_lshl_b32 s3, s3, 16
87
- ; GFX6-NEXT: s_or_b32 s3, 59 , s3
83
+ ; GFX6-NEXT: s_or_b32 s3, 0x7b , s3
88
84
; GFX6-NEXT: s_bfe_u32 s3, s2, s3
89
85
; GFX6-NEXT: s_mov_b32 s2, -1
90
86
; GFX6-NEXT: v_mov_b32_e32 v0, s3
@@ -101,9 +97,8 @@ define amdgpu_kernel void @bfe_u32_imm_arg_arg(ptr addrspace(1) %out, i32 %src1,
101
97
; GFX6: ; %bb.0:
102
98
; GFX6-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
103
99
; GFX6-NEXT: s_waitcnt lgkmcnt(0)
104
- ; GFX6-NEXT: s_and_b32 s4, s2, 63
105
100
; GFX6-NEXT: s_lshl_b32 s3, s3, 16
106
- ; GFX6-NEXT: s_or_b32 s3, s4 , s3
101
+ ; GFX6-NEXT: s_or_b32 s3, s2 , s3
107
102
; GFX6-NEXT: s_bfe_u32 s3, 0x7b, s3
108
103
; GFX6-NEXT: s_mov_b32 s2, -1
109
104
; GFX6-NEXT: v_mov_b32_e32 v0, s3
@@ -120,7 +115,6 @@ define amdgpu_kernel void @bfe_u32_arg_0_width_reg_offset(ptr addrspace(1) %out,
120
115
; GFX6: ; %bb.0:
121
116
; GFX6-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
122
117
; GFX6-NEXT: s_waitcnt lgkmcnt(0)
123
- ; GFX6-NEXT: s_and_b32 s3, s3, 63
124
118
; GFX6-NEXT: s_bfe_u32 s3, s2, s3
125
119
; GFX6-NEXT: s_mov_b32 s2, -1
126
120
; GFX6-NEXT: v_mov_b32_e32 v0, s3
0 commit comments