mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
Support the AND operation in EncodeMathMMIO
Related-to: LOCI-1161 Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
b668feaf0d
commit
da779d067f
@@ -99,6 +99,47 @@ HWTEST_F(EncodeMathMMIOTest, encodeAluSubStoreCarryHasCorrectOpcodesOperands) {
|
||||
EXPECT_EQ(aluParam[4].DW0.Value, 0u);
|
||||
}
|
||||
|
||||
HWTEST_F(EncodeMathMMIOTest, givenAluRegistersWhenEncodeAluAndIsCalledThenAluParamHasCorrectOpcodesAndOperands) {
|
||||
using MI_MATH_ALU_INST_INLINE = typename FamilyType::MI_MATH_ALU_INST_INLINE;
|
||||
|
||||
MI_MATH_ALU_INST_INLINE aluParam[5];
|
||||
AluRegisters regA = AluRegisters::R_0;
|
||||
AluRegisters regB = AluRegisters::R_1;
|
||||
AluRegisters finalResultRegister = AluRegisters::R_2;
|
||||
|
||||
memset(aluParam, 0, sizeof(MI_MATH_ALU_INST_INLINE) * 5);
|
||||
|
||||
EncodeMathMMIO<FamilyType>::encodeAluAnd(aluParam, regA, regB,
|
||||
finalResultRegister);
|
||||
|
||||
EXPECT_EQ(aluParam[0].DW0.BitField.ALUOpcode,
|
||||
static_cast<uint32_t>(AluRegisters::OPCODE_LOAD));
|
||||
EXPECT_EQ(aluParam[0].DW0.BitField.Operand1,
|
||||
static_cast<uint32_t>(AluRegisters::R_SRCA));
|
||||
EXPECT_EQ(aluParam[0].DW0.BitField.Operand2, static_cast<uint32_t>(regA));
|
||||
|
||||
EXPECT_EQ(aluParam[1].DW0.BitField.ALUOpcode,
|
||||
static_cast<uint32_t>(AluRegisters::OPCODE_LOAD));
|
||||
EXPECT_EQ(aluParam[1].DW0.BitField.Operand1,
|
||||
static_cast<uint32_t>(AluRegisters::R_SRCB));
|
||||
EXPECT_EQ(aluParam[1].DW0.BitField.Operand2,
|
||||
static_cast<uint32_t>(regB));
|
||||
|
||||
EXPECT_EQ(aluParam[2].DW0.BitField.ALUOpcode,
|
||||
static_cast<uint32_t>(AluRegisters::OPCODE_AND));
|
||||
EXPECT_EQ(aluParam[2].DW0.BitField.Operand1, 0u);
|
||||
EXPECT_EQ(aluParam[2].DW0.BitField.Operand2, 0u);
|
||||
|
||||
EXPECT_EQ(aluParam[3].DW0.BitField.ALUOpcode,
|
||||
static_cast<uint32_t>(AluRegisters::OPCODE_STORE));
|
||||
EXPECT_EQ(aluParam[3].DW0.BitField.Operand1,
|
||||
static_cast<uint32_t>(AluRegisters::R_2));
|
||||
EXPECT_EQ(aluParam[3].DW0.BitField.Operand2,
|
||||
static_cast<uint32_t>(AluRegisters::R_ACCU));
|
||||
|
||||
EXPECT_EQ(aluParam[4].DW0.Value, 0u);
|
||||
}
|
||||
|
||||
using CommandEncoderMathTest = Test<DeviceFixture>;
|
||||
|
||||
HWTEST_F(CommandEncoderMathTest, commandReserve) {
|
||||
|
||||
Reference in New Issue
Block a user