mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-15 07:34:33 +00:00
R600/SI: Try to fix BFE operands when moving to VALU
This was broken by r208479 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208740 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f057625676
commit
dda22295e4
@ -1217,12 +1217,12 @@ void SIInstrInfo::moveToVALU(MachineInstr &TopInst) const {
|
|||||||
Inst->RemoveOperand(2); // Remove old immediate.
|
Inst->RemoveOperand(2); // Remove old immediate.
|
||||||
Inst->addOperand(Inst->getOperand(1));
|
Inst->addOperand(Inst->getOperand(1));
|
||||||
Inst->getOperand(1).ChangeToImmediate(0);
|
Inst->getOperand(1).ChangeToImmediate(0);
|
||||||
|
Inst->addOperand(MachineOperand::CreateImm(0));
|
||||||
Inst->addOperand(MachineOperand::CreateImm(Offset));
|
Inst->addOperand(MachineOperand::CreateImm(Offset));
|
||||||
Inst->addOperand(MachineOperand::CreateImm(0));
|
Inst->addOperand(MachineOperand::CreateImm(0));
|
||||||
Inst->addOperand(MachineOperand::CreateImm(BitWidth));
|
Inst->addOperand(MachineOperand::CreateImm(BitWidth));
|
||||||
Inst->addOperand(MachineOperand::CreateImm(0));
|
Inst->addOperand(MachineOperand::CreateImm(0));
|
||||||
Inst->addOperand(MachineOperand::CreateImm(0));
|
Inst->addOperand(MachineOperand::CreateImm(0));
|
||||||
Inst->addOperand(MachineOperand::CreateImm(0));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the destination register class.
|
// Update the destination register class.
|
||||||
|
@ -39,3 +39,12 @@ define void @bfe_i32_imm_arg_arg(i32 addrspace(1)* %out, i32 %src1, i32 %src2) n
|
|||||||
store i32 %bfe_i32, i32 addrspace(1)* %out, align 4
|
store i32 %bfe_i32, i32 addrspace(1)* %out, align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; FUNC-LABEL: @v_bfe_print_arg
|
||||||
|
; SI: V_BFE_I32 v{{[0-9]+}}, v{{[0-9]+}}, 2, 8
|
||||||
|
define void @v_bfe_print_arg(i32 addrspace(1)* %out, i32 addrspace(1)* %src0) nounwind {
|
||||||
|
%load = load i32 addrspace(1)* %src0, align 4
|
||||||
|
%bfe_i32 = call i32 @llvm.AMDGPU.bfe.i32(i32 %load, i32 2, i32 8) nounwind readnone
|
||||||
|
store i32 %bfe_i32, i32 addrspace(1)* %out, align 4
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user