@@ -8,15 +8,6 @@ define i160 @bitcast_v5i32_to_i160(<5 x i32> %vec) {
8
8
; GFX9-LABEL: bitcast_v5i32_to_i160:
9
9
; GFX9: ; %bb.0:
10
10
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
11
- ; GFX9-NEXT: s_mov_b32 s4, s33
12
- ; GFX9-NEXT: s_add_i32 s33, s32, 0x7c0
13
- ; GFX9-NEXT: s_and_b32 s33, s33, 0xfffff800
14
- ; GFX9-NEXT: s_mov_b32 s5, s34
15
- ; GFX9-NEXT: s_mov_b32 s34, s32
16
- ; GFX9-NEXT: s_addk_i32 s32, 0x1000
17
- ; GFX9-NEXT: s_mov_b32 s32, s34
18
- ; GFX9-NEXT: s_mov_b32 s34, s5
19
- ; GFX9-NEXT: s_mov_b32 s33, s4
20
11
; GFX9-NEXT: s_setpc_b64 s[30:31]
21
12
;
22
13
; GFX12-LABEL: bitcast_v5i32_to_i160:
@@ -26,23 +17,6 @@ define i160 @bitcast_v5i32_to_i160(<5 x i32> %vec) {
26
17
; GFX12-NEXT: s_wait_samplecnt 0x0
27
18
; GFX12-NEXT: s_wait_bvhcnt 0x0
28
19
; GFX12-NEXT: s_wait_kmcnt 0x0
29
- ; GFX12-NEXT: s_mov_b32 s0, s33
30
- ; GFX12-NEXT: s_add_co_i32 s33, s32, 31
31
- ; GFX12-NEXT: s_mov_b32 s1, s34
32
- ; GFX12-NEXT: s_wait_alu 0xfffe
33
- ; GFX12-NEXT: s_and_not1_b32 s33, s33, 31
34
- ; GFX12-NEXT: s_mov_b32 s34, s32
35
- ; GFX12-NEXT: scratch_store_b128 off, v[0:3], s33
36
- ; GFX12-NEXT: s_clause 0x1
37
- ; GFX12-NEXT: scratch_load_b64 v[0:1], off, s33
38
- ; GFX12-NEXT: scratch_load_b64 v[2:3], off, s33 offset:8
39
- ; GFX12-NEXT: s_add_co_i32 s32, s32, 64
40
- ; GFX12-NEXT: s_wait_alu 0xfffe
41
- ; GFX12-NEXT: s_mov_b32 s32, s34
42
- ; GFX12-NEXT: s_mov_b32 s34, s1
43
- ; GFX12-NEXT: s_mov_b32 s33, s0
44
- ; GFX12-NEXT: s_wait_loadcnt 0x0
45
- ; GFX12-NEXT: s_wait_alu 0xfffe
46
20
; GFX12-NEXT: s_setpc_b64 s[30:31]
47
21
%bitcast = bitcast <5 x i32 > %vec to i160
48
22
ret i160 %bitcast
@@ -52,15 +26,6 @@ define i192 @bitcast_v6i32_to_i192(<6 x i32> %vec) {
52
26
; GFX9-LABEL: bitcast_v6i32_to_i192:
53
27
; GFX9: ; %bb.0:
54
28
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
55
- ; GFX9-NEXT: s_mov_b32 s4, s33
56
- ; GFX9-NEXT: s_add_i32 s33, s32, 0x7c0
57
- ; GFX9-NEXT: s_and_b32 s33, s33, 0xfffff800
58
- ; GFX9-NEXT: s_mov_b32 s5, s34
59
- ; GFX9-NEXT: s_mov_b32 s34, s32
60
- ; GFX9-NEXT: s_addk_i32 s32, 0x1000
61
- ; GFX9-NEXT: s_mov_b32 s32, s34
62
- ; GFX9-NEXT: s_mov_b32 s34, s5
63
- ; GFX9-NEXT: s_mov_b32 s33, s4
64
29
; GFX9-NEXT: s_setpc_b64 s[30:31]
65
30
;
66
31
; GFX12-LABEL: bitcast_v6i32_to_i192:
@@ -70,23 +35,6 @@ define i192 @bitcast_v6i32_to_i192(<6 x i32> %vec) {
70
35
; GFX12-NEXT: s_wait_samplecnt 0x0
71
36
; GFX12-NEXT: s_wait_bvhcnt 0x0
72
37
; GFX12-NEXT: s_wait_kmcnt 0x0
73
- ; GFX12-NEXT: s_mov_b32 s0, s33
74
- ; GFX12-NEXT: s_add_co_i32 s33, s32, 31
75
- ; GFX12-NEXT: s_mov_b32 s1, s34
76
- ; GFX12-NEXT: s_wait_alu 0xfffe
77
- ; GFX12-NEXT: s_and_not1_b32 s33, s33, 31
78
- ; GFX12-NEXT: s_mov_b32 s34, s32
79
- ; GFX12-NEXT: scratch_store_b128 off, v[0:3], s33
80
- ; GFX12-NEXT: s_clause 0x1
81
- ; GFX12-NEXT: scratch_load_b64 v[0:1], off, s33
82
- ; GFX12-NEXT: scratch_load_b64 v[2:3], off, s33 offset:8
83
- ; GFX12-NEXT: s_add_co_i32 s32, s32, 64
84
- ; GFX12-NEXT: s_wait_alu 0xfffe
85
- ; GFX12-NEXT: s_mov_b32 s32, s34
86
- ; GFX12-NEXT: s_mov_b32 s34, s1
87
- ; GFX12-NEXT: s_mov_b32 s33, s0
88
- ; GFX12-NEXT: s_wait_loadcnt 0x0
89
- ; GFX12-NEXT: s_wait_alu 0xfffe
90
38
; GFX12-NEXT: s_setpc_b64 s[30:31]
91
39
%bitcast = bitcast <6 x i32 > %vec to i192
92
40
ret i192 %bitcast
@@ -96,15 +44,6 @@ define i224 @bitcast_v7i32_to_i224(<7 x i32> %vec) {
96
44
; GFX9-LABEL: bitcast_v7i32_to_i224:
97
45
; GFX9: ; %bb.0:
98
46
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
99
- ; GFX9-NEXT: s_mov_b32 s4, s33
100
- ; GFX9-NEXT: s_add_i32 s33, s32, 0x7c0
101
- ; GFX9-NEXT: s_and_b32 s33, s33, 0xfffff800
102
- ; GFX9-NEXT: s_mov_b32 s5, s34
103
- ; GFX9-NEXT: s_mov_b32 s34, s32
104
- ; GFX9-NEXT: s_addk_i32 s32, 0x1000
105
- ; GFX9-NEXT: s_mov_b32 s32, s34
106
- ; GFX9-NEXT: s_mov_b32 s34, s5
107
- ; GFX9-NEXT: s_mov_b32 s33, s4
108
47
; GFX9-NEXT: s_setpc_b64 s[30:31]
109
48
;
110
49
; GFX12-LABEL: bitcast_v7i32_to_i224:
@@ -114,27 +53,6 @@ define i224 @bitcast_v7i32_to_i224(<7 x i32> %vec) {
114
53
; GFX12-NEXT: s_wait_samplecnt 0x0
115
54
; GFX12-NEXT: s_wait_bvhcnt 0x0
116
55
; GFX12-NEXT: s_wait_kmcnt 0x0
117
- ; GFX12-NEXT: s_mov_b32 s0, s33
118
- ; GFX12-NEXT: s_add_co_i32 s33, s32, 31
119
- ; GFX12-NEXT: s_mov_b32 s1, s34
120
- ; GFX12-NEXT: s_wait_alu 0xfffe
121
- ; GFX12-NEXT: s_and_not1_b32 s33, s33, 31
122
- ; GFX12-NEXT: s_mov_b32 s34, s32
123
- ; GFX12-NEXT: scratch_store_b128 off, v[0:3], s33
124
- ; GFX12-NEXT: s_clause 0x1
125
- ; GFX12-NEXT: scratch_load_b64 v[0:1], off, s33
126
- ; GFX12-NEXT: scratch_load_b64 v[2:3], off, s33 offset:8
127
- ; GFX12-NEXT: scratch_store_b96 off, v[4:6], s33 offset:16
128
- ; GFX12-NEXT: s_clause 0x1
129
- ; GFX12-NEXT: scratch_load_b64 v[4:5], off, s33 offset:16
130
- ; GFX12-NEXT: scratch_load_b32 v6, off, s33 offset:24
131
- ; GFX12-NEXT: s_add_co_i32 s32, s32, 64
132
- ; GFX12-NEXT: s_wait_alu 0xfffe
133
- ; GFX12-NEXT: s_mov_b32 s32, s34
134
- ; GFX12-NEXT: s_mov_b32 s34, s1
135
- ; GFX12-NEXT: s_mov_b32 s33, s0
136
- ; GFX12-NEXT: s_wait_loadcnt 0x0
137
- ; GFX12-NEXT: s_wait_alu 0xfffe
138
56
; GFX12-NEXT: s_setpc_b64 s[30:31]
139
57
%bitcast = bitcast <7 x i32 > %vec to i224
140
58
ret i224 %bitcast
@@ -316,15 +234,6 @@ define i192 @bitcast_v3i64_to_i192(<3 x i64> %vec) {
316
234
; GFX9-LABEL: bitcast_v3i64_to_i192:
317
235
; GFX9: ; %bb.0:
318
236
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
319
- ; GFX9-NEXT: s_mov_b32 s4, s33
320
- ; GFX9-NEXT: s_add_i32 s33, s32, 0x7c0
321
- ; GFX9-NEXT: s_and_b32 s33, s33, 0xfffff800
322
- ; GFX9-NEXT: s_mov_b32 s5, s34
323
- ; GFX9-NEXT: s_mov_b32 s34, s32
324
- ; GFX9-NEXT: s_addk_i32 s32, 0x1000
325
- ; GFX9-NEXT: s_mov_b32 s32, s34
326
- ; GFX9-NEXT: s_mov_b32 s34, s5
327
- ; GFX9-NEXT: s_mov_b32 s33, s4
328
237
; GFX9-NEXT: s_setpc_b64 s[30:31]
329
238
;
330
239
; GFX12-LABEL: bitcast_v3i64_to_i192:
@@ -334,23 +243,6 @@ define i192 @bitcast_v3i64_to_i192(<3 x i64> %vec) {
334
243
; GFX12-NEXT: s_wait_samplecnt 0x0
335
244
; GFX12-NEXT: s_wait_bvhcnt 0x0
336
245
; GFX12-NEXT: s_wait_kmcnt 0x0
337
- ; GFX12-NEXT: s_mov_b32 s0, s33
338
- ; GFX12-NEXT: s_add_co_i32 s33, s32, 31
339
- ; GFX12-NEXT: s_mov_b32 s1, s34
340
- ; GFX12-NEXT: s_wait_alu 0xfffe
341
- ; GFX12-NEXT: s_and_not1_b32 s33, s33, 31
342
- ; GFX12-NEXT: s_mov_b32 s34, s32
343
- ; GFX12-NEXT: scratch_store_b128 off, v[0:3], s33
344
- ; GFX12-NEXT: s_clause 0x1
345
- ; GFX12-NEXT: scratch_load_b64 v[0:1], off, s33
346
- ; GFX12-NEXT: scratch_load_b64 v[2:3], off, s33 offset:8
347
- ; GFX12-NEXT: s_add_co_i32 s32, s32, 64
348
- ; GFX12-NEXT: s_wait_alu 0xfffe
349
- ; GFX12-NEXT: s_mov_b32 s32, s34
350
- ; GFX12-NEXT: s_mov_b32 s34, s1
351
- ; GFX12-NEXT: s_mov_b32 s33, s0
352
- ; GFX12-NEXT: s_wait_loadcnt 0x0
353
- ; GFX12-NEXT: s_wait_alu 0xfffe
354
246
; GFX12-NEXT: s_setpc_b64 s[30:31]
355
247
%bitcast = bitcast <3 x i64 > %vec to i192
356
248
ret i192 %bitcast
@@ -498,15 +390,6 @@ define i160 @bitcast_v5f32_to_i160(<5 x float> %vec) {
498
390
; GFX9-LABEL: bitcast_v5f32_to_i160:
499
391
; GFX9: ; %bb.0:
500
392
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
501
- ; GFX9-NEXT: s_mov_b32 s4, s33
502
- ; GFX9-NEXT: s_add_i32 s33, s32, 0x7c0
503
- ; GFX9-NEXT: s_and_b32 s33, s33, 0xfffff800
504
- ; GFX9-NEXT: s_mov_b32 s5, s34
505
- ; GFX9-NEXT: s_mov_b32 s34, s32
506
- ; GFX9-NEXT: s_addk_i32 s32, 0x1000
507
- ; GFX9-NEXT: s_mov_b32 s32, s34
508
- ; GFX9-NEXT: s_mov_b32 s34, s5
509
- ; GFX9-NEXT: s_mov_b32 s33, s4
510
393
; GFX9-NEXT: s_setpc_b64 s[30:31]
511
394
;
512
395
; GFX12-LABEL: bitcast_v5f32_to_i160:
@@ -516,23 +399,6 @@ define i160 @bitcast_v5f32_to_i160(<5 x float> %vec) {
516
399
; GFX12-NEXT: s_wait_samplecnt 0x0
517
400
; GFX12-NEXT: s_wait_bvhcnt 0x0
518
401
; GFX12-NEXT: s_wait_kmcnt 0x0
519
- ; GFX12-NEXT: s_mov_b32 s0, s33
520
- ; GFX12-NEXT: s_add_co_i32 s33, s32, 31
521
- ; GFX12-NEXT: s_mov_b32 s1, s34
522
- ; GFX12-NEXT: s_wait_alu 0xfffe
523
- ; GFX12-NEXT: s_and_not1_b32 s33, s33, 31
524
- ; GFX12-NEXT: s_mov_b32 s34, s32
525
- ; GFX12-NEXT: scratch_store_b128 off, v[0:3], s33
526
- ; GFX12-NEXT: s_clause 0x1
527
- ; GFX12-NEXT: scratch_load_b64 v[0:1], off, s33
528
- ; GFX12-NEXT: scratch_load_b64 v[2:3], off, s33 offset:8
529
- ; GFX12-NEXT: s_add_co_i32 s32, s32, 64
530
- ; GFX12-NEXT: s_wait_alu 0xfffe
531
- ; GFX12-NEXT: s_mov_b32 s32, s34
532
- ; GFX12-NEXT: s_mov_b32 s34, s1
533
- ; GFX12-NEXT: s_mov_b32 s33, s0
534
- ; GFX12-NEXT: s_wait_loadcnt 0x0
535
- ; GFX12-NEXT: s_wait_alu 0xfffe
536
402
; GFX12-NEXT: s_setpc_b64 s[30:31]
537
403
%bitcast = bitcast <5 x float > %vec to i160
538
404
ret i160 %bitcast
@@ -630,15 +496,6 @@ define i192 @bitcast_v6f32_to_i192(<6 x float> %vec) {
630
496
; GFX9-LABEL: bitcast_v6f32_to_i192:
631
497
; GFX9: ; %bb.0:
632
498
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
633
- ; GFX9-NEXT: s_mov_b32 s4, s33
634
- ; GFX9-NEXT: s_add_i32 s33, s32, 0x7c0
635
- ; GFX9-NEXT: s_and_b32 s33, s33, 0xfffff800
636
- ; GFX9-NEXT: s_mov_b32 s5, s34
637
- ; GFX9-NEXT: s_mov_b32 s34, s32
638
- ; GFX9-NEXT: s_addk_i32 s32, 0x1000
639
- ; GFX9-NEXT: s_mov_b32 s32, s34
640
- ; GFX9-NEXT: s_mov_b32 s34, s5
641
- ; GFX9-NEXT: s_mov_b32 s33, s4
642
499
; GFX9-NEXT: s_setpc_b64 s[30:31]
643
500
;
644
501
; GFX12-LABEL: bitcast_v6f32_to_i192:
@@ -648,23 +505,6 @@ define i192 @bitcast_v6f32_to_i192(<6 x float> %vec) {
648
505
; GFX12-NEXT: s_wait_samplecnt 0x0
649
506
; GFX12-NEXT: s_wait_bvhcnt 0x0
650
507
; GFX12-NEXT: s_wait_kmcnt 0x0
651
- ; GFX12-NEXT: s_mov_b32 s0, s33
652
- ; GFX12-NEXT: s_add_co_i32 s33, s32, 31
653
- ; GFX12-NEXT: s_mov_b32 s1, s34
654
- ; GFX12-NEXT: s_wait_alu 0xfffe
655
- ; GFX12-NEXT: s_and_not1_b32 s33, s33, 31
656
- ; GFX12-NEXT: s_mov_b32 s34, s32
657
- ; GFX12-NEXT: scratch_store_b128 off, v[0:3], s33
658
- ; GFX12-NEXT: s_clause 0x1
659
- ; GFX12-NEXT: scratch_load_b64 v[0:1], off, s33
660
- ; GFX12-NEXT: scratch_load_b64 v[2:3], off, s33 offset:8
661
- ; GFX12-NEXT: s_add_co_i32 s32, s32, 64
662
- ; GFX12-NEXT: s_wait_alu 0xfffe
663
- ; GFX12-NEXT: s_mov_b32 s32, s34
664
- ; GFX12-NEXT: s_mov_b32 s34, s1
665
- ; GFX12-NEXT: s_mov_b32 s33, s0
666
- ; GFX12-NEXT: s_wait_loadcnt 0x0
667
- ; GFX12-NEXT: s_wait_alu 0xfffe
668
508
; GFX12-NEXT: s_setpc_b64 s[30:31]
669
509
%bitcast = bitcast <6 x float > %vec to i192
670
510
ret i192 %bitcast
0 commit comments