@@ -5145,9 +5145,7 @@ static MachineBasicBlock *lowerWaveReduce(MachineInstr &MI,
5145
5145
case AMDGPU::S_MAX_U32:
5146
5146
case AMDGPU::S_MAX_I32:
5147
5147
case AMDGPU::S_AND_B32:
5148
- case AMDGPU::S_AND_B64:
5149
- case AMDGPU::S_OR_B32:
5150
- case AMDGPU::S_OR_B64: {
5148
+ case AMDGPU::S_OR_B32: {
5151
5149
// Idempotent operations.
5152
5150
BuildMI(BB, MI, DL, TII->get(AMDGPU::S_MOV_B32), DstReg).addReg(SrcReg);
5153
5151
RetBB = &BB;
@@ -5157,7 +5155,8 @@ static MachineBasicBlock *lowerWaveReduce(MachineInstr &MI,
5157
5155
case AMDGPU::V_CMP_LT_I64_e64: // min
5158
5156
case AMDGPU::V_CMP_GT_U64_e64: // umax
5159
5157
case AMDGPU::V_CMP_GT_I64_e64: // max
5160
- {
5158
+ case AMDGPU::S_AND_B64:
5159
+ case AMDGPU::S_OR_B64: {
5161
5160
// Idempotent operations.
5162
5161
BuildMI(BB, MI, DL, TII->get(AMDGPU::S_MOV_B64), DstReg).addReg(SrcReg);
5163
5162
RetBB = &BB;
@@ -5201,7 +5200,7 @@ static MachineBasicBlock *lowerWaveReduce(MachineInstr &MI,
5201
5200
.addReg(NewAccumulator->getOperand(0).getReg())
5202
5201
.addImm(1)
5203
5202
.setOperandDead(3); // Dead scc
5204
- if (is32BitOpc ) {
5203
+ if (Opc == AMDGPU::S_XOR_B32 ) {
5205
5204
BuildMI(BB, MI, DL, TII->get(AMDGPU::S_MUL_I32), DstReg)
5206
5205
.addReg(SrcReg)
5207
5206
.addReg(ParityRegister);
0 commit comments