[AMDGPU] gfx1250: MC support for 64-bit literals (#147861)
This commit is contained in:
parent
69ff853729
commit
00a85e5704
@ -1130,6 +1130,12 @@ def FeaturePointSampleAccel : SubtargetFeature<"point-sample-accel",
|
||||
"Has point sample acceleration feature"
|
||||
>;
|
||||
|
||||
def Feature64BitLiterals : SubtargetFeature<"64-bit-literals",
|
||||
"Has64BitLiterals",
|
||||
"true",
|
||||
"Can use 64-bit literals with single DWORD instructions"
|
||||
>;
|
||||
|
||||
def FeatureWaitXcnt : SubtargetFeature<"wait-xcnt",
|
||||
"HasWaitXcnt",
|
||||
"true",
|
||||
@ -1931,6 +1937,7 @@ def FeatureISAVersion12_50 : FeatureSet<
|
||||
[FeatureGFX12,
|
||||
FeatureGFX1250Insts,
|
||||
FeatureCuMode,
|
||||
Feature64BitLiterals,
|
||||
FeatureLDSBankCount32,
|
||||
FeatureDLInsts,
|
||||
FeatureFmacF64Inst,
|
||||
@ -2678,6 +2685,9 @@ def HasPrngInst : Predicate<"Subtarget->hasPrngInst()">,
|
||||
def HasBVHDualAndBVH8Insts : Predicate<"Subtarget->hasBVHDualAndBVH8Insts()">,
|
||||
AssemblerPredicate<(all_of FeatureBVHDualAndBVH8Insts)>;
|
||||
|
||||
def Has64BitLiterals : Predicate<"Subtarget->has64BitLiterals()">,
|
||||
AssemblerPredicate<(all_of Feature64BitLiterals)>;
|
||||
|
||||
def HasWaitXcnt : Predicate<"Subtarget->hasWaitXcnt()">,
|
||||
AssemblerPredicate<(all_of FeatureWaitXcnt)>;
|
||||
|
||||
|
||||
@ -81,6 +81,7 @@ public:
|
||||
bool Neg = false;
|
||||
bool Sext = false;
|
||||
bool Lit = false;
|
||||
bool Lit64 = false;
|
||||
|
||||
bool hasFPModifiers() const { return Abs || Neg; }
|
||||
bool hasIntModifiers() const { return Sext; }
|
||||
@ -480,7 +481,10 @@ public:
|
||||
bool isSSrc_b64() const {
|
||||
// TODO: Find out how SALU supports extension of 32-bit literals to 64 bits.
|
||||
// See isVSrc64().
|
||||
return isSCSrc_b64() || isLiteralImm(MVT::i64);
|
||||
return isSCSrc_b64() || isLiteralImm(MVT::i64) ||
|
||||
(((const MCTargetAsmParser *)AsmParser)
|
||||
->getAvailableFeatures()[AMDGPU::Feature64BitLiterals] &&
|
||||
isExpr());
|
||||
}
|
||||
|
||||
bool isSSrc_f32() const {
|
||||
@ -1537,6 +1541,10 @@ public:
|
||||
return getFeatureBits()[AMDGPU::FeatureInv2PiInlineImm];
|
||||
}
|
||||
|
||||
bool has64BitLiterals() const {
|
||||
return getFeatureBits()[AMDGPU::Feature64BitLiterals];
|
||||
}
|
||||
|
||||
bool hasFlatOffsets() const {
|
||||
return getFeatureBits()[AMDGPU::FeatureFlatInstOffsets];
|
||||
}
|
||||
@ -1663,10 +1671,10 @@ public:
|
||||
bool isOpcodeModifierWithVal(const AsmToken &Token, const AsmToken &NextToken) const;
|
||||
bool parseSP3NegModifier();
|
||||
ParseStatus parseImm(OperandVector &Operands, bool HasSP3AbsModifier = false,
|
||||
bool HasLit = false);
|
||||
bool HasLit = false, bool HasLit64 = false);
|
||||
ParseStatus parseReg(OperandVector &Operands);
|
||||
ParseStatus parseRegOrImm(OperandVector &Operands, bool HasSP3AbsMod = false,
|
||||
bool HasLit = false);
|
||||
bool HasLit = false, bool HasLit64 = false);
|
||||
ParseStatus parseRegOrImmWithFPInputMods(OperandVector &Operands,
|
||||
bool AllowImm = true);
|
||||
ParseStatus parseRegOrImmWithIntInputMods(OperandVector &Operands,
|
||||
@ -2123,6 +2131,9 @@ bool AMDGPUOperand::isLiteralImm(MVT type) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Allow64Bit =
|
||||
(type == MVT::i64 || type == MVT::f64) && AsmParser->has64BitLiterals();
|
||||
|
||||
if (!Imm.IsFPImm) {
|
||||
// We got int literal token.
|
||||
|
||||
@ -2134,8 +2145,11 @@ bool AMDGPUOperand::isLiteralImm(MVT type) const {
|
||||
}
|
||||
|
||||
unsigned Size = type.getSizeInBits();
|
||||
if (Size == 64)
|
||||
if (Size == 64) {
|
||||
if (Allow64Bit && !AMDGPU::isValid32BitLiteral(Imm.Val, false))
|
||||
return true;
|
||||
Size = 32;
|
||||
}
|
||||
|
||||
// FIXME: 64-bit operands can zero extend, sign extend, or pad zeroes for FP
|
||||
// types.
|
||||
@ -2287,12 +2301,18 @@ void AMDGPUOperand::addLiteralImmOperand(MCInst &Inst, int64_t Val, bool ApplyMo
|
||||
}
|
||||
|
||||
// Non-inlineable
|
||||
if (AMDGPU::isSISrcFPOperand(InstDesc, OpNum)) { // Expected 64-bit fp operand
|
||||
if (AMDGPU::isSISrcFPOperand(InstDesc,
|
||||
OpNum)) { // Expected 64-bit fp operand
|
||||
bool HasMandatoryLiteral =
|
||||
AMDGPU::hasNamedOperand(Inst.getOpcode(), AMDGPU::OpName::imm);
|
||||
// For fp operands we check if low 32 bits are zeros
|
||||
if (Literal.getLoBits(32) != 0) {
|
||||
const_cast<AMDGPUAsmParser *>(AsmParser)->Warning(Inst.getLoc(),
|
||||
"Can't encode literal as exact 64-bit floating-point operand. "
|
||||
"Low 32-bits will be set to zero");
|
||||
if (Literal.getLoBits(32) != 0 &&
|
||||
(InstDesc.getSize() != 4 || !AsmParser->has64BitLiterals()) &&
|
||||
!HasMandatoryLiteral) {
|
||||
const_cast<AMDGPUAsmParser *>(AsmParser)->Warning(
|
||||
Inst.getLoc(),
|
||||
"Can't encode literal as exact 64-bit floating-point operand. "
|
||||
"Low 32-bits will be set to zero");
|
||||
Val &= 0xffffffff00000000u;
|
||||
}
|
||||
|
||||
@ -2392,8 +2412,25 @@ void AMDGPUOperand::addLiteralImmOperand(MCInst &Inst, int64_t Val, bool ApplyMo
|
||||
return;
|
||||
|
||||
case AMDGPU::OPERAND_REG_IMM_INT64:
|
||||
case AMDGPU::OPERAND_REG_IMM_FP64:
|
||||
case AMDGPU::OPERAND_REG_INLINE_C_INT64:
|
||||
if (AMDGPU::isInlinableLiteral64(Val, AsmParser->hasInv2PiInlineImm())) {
|
||||
Inst.addOperand(MCOperand::createImm(Val));
|
||||
setImmKindConst();
|
||||
return;
|
||||
}
|
||||
|
||||
// When the 32 MSBs are not zero (effectively means it can't be safely
|
||||
// truncated to uint32_t), if the target doesn't support 64-bit literals, or
|
||||
// the lit modifier is explicitly used, we need to truncate it to the 32
|
||||
// LSBs.
|
||||
if (!AsmParser->has64BitLiterals() || getModifiers().Lit)
|
||||
Val = Lo_32(Val);
|
||||
|
||||
Inst.addOperand(MCOperand::createImm(Val));
|
||||
setImmKindLiteral();
|
||||
return;
|
||||
|
||||
case AMDGPU::OPERAND_REG_IMM_FP64:
|
||||
case AMDGPU::OPERAND_REG_INLINE_C_FP64:
|
||||
case AMDGPU::OPERAND_REG_INLINE_AC_FP64:
|
||||
if (AMDGPU::isInlinableLiteral64(Val, AsmParser->hasInv2PiInlineImm())) {
|
||||
@ -2402,8 +2439,20 @@ void AMDGPUOperand::addLiteralImmOperand(MCInst &Inst, int64_t Val, bool ApplyMo
|
||||
return;
|
||||
}
|
||||
|
||||
Val = AMDGPU::isSISrcFPOperand(InstDesc, OpNum) ? (uint64_t)Val << 32
|
||||
: Lo_32(Val);
|
||||
// If the target doesn't support 64-bit literals, we need to use the
|
||||
// constant as the high 32 MSBs of a double-precision floating point value.
|
||||
if (!AsmParser->has64BitLiterals()) {
|
||||
Val = static_cast<uint64_t>(Val) << 32;
|
||||
} else {
|
||||
// Now the target does support 64-bit literals, there are two cases
|
||||
// where we still want to use src_literal encoding:
|
||||
// 1) explicitly forced by using lit modifier;
|
||||
// 2) the value is a valid 32-bit representation (signed or unsigned),
|
||||
// meanwhile not forced by lit64 modifier.
|
||||
if (getModifiers().Lit ||
|
||||
(!getModifiers().Lit64 && (isInt<32>(Val) || isUInt<32>(Val))))
|
||||
Val = static_cast<uint64_t>(Val) << 32;
|
||||
}
|
||||
|
||||
Inst.addOperand(MCOperand::createImm(Val));
|
||||
setImmKindLiteral();
|
||||
@ -3151,19 +3200,20 @@ AMDGPUAsmParser::parseRegister(bool RestoreOnFailure) {
|
||||
}
|
||||
|
||||
ParseStatus AMDGPUAsmParser::parseImm(OperandVector &Operands,
|
||||
bool HasSP3AbsModifier, bool HasLit) {
|
||||
bool HasSP3AbsModifier, bool HasLit,
|
||||
bool HasLit64) {
|
||||
// TODO: add syntactic sugar for 1/(2*PI)
|
||||
|
||||
if (isRegister())
|
||||
if (isRegister() || isModifier())
|
||||
return ParseStatus::NoMatch;
|
||||
assert(!isModifier());
|
||||
|
||||
if (!HasLit) {
|
||||
HasLit = trySkipId("lit");
|
||||
if (HasLit) {
|
||||
if (!HasLit && !HasLit64) {
|
||||
HasLit64 = trySkipId("lit64");
|
||||
HasLit = !HasLit64 && trySkipId("lit");
|
||||
if (HasLit || HasLit64) {
|
||||
if (!skipToken(AsmToken::LParen, "expected left paren after lit"))
|
||||
return ParseStatus::Failure;
|
||||
ParseStatus S = parseImm(Operands, HasSP3AbsModifier, HasLit);
|
||||
ParseStatus S = parseImm(Operands, HasSP3AbsModifier, HasLit, HasLit64);
|
||||
if (S.isSuccess() &&
|
||||
!skipToken(AsmToken::RParen, "expected closing parentheses"))
|
||||
return ParseStatus::Failure;
|
||||
@ -3185,6 +3235,7 @@ ParseStatus AMDGPUAsmParser::parseImm(OperandVector &Operands,
|
||||
|
||||
AMDGPUOperand::Modifiers Mods;
|
||||
Mods.Lit = HasLit;
|
||||
Mods.Lit64 = HasLit64;
|
||||
|
||||
if (IsReal) {
|
||||
// Floating-point expressions are not supported.
|
||||
@ -3235,7 +3286,7 @@ ParseStatus AMDGPUAsmParser::parseImm(OperandVector &Operands,
|
||||
AMDGPUOperand &Op = static_cast<AMDGPUOperand &>(*Operands.back());
|
||||
Op.setModifiers(Mods);
|
||||
} else {
|
||||
if (HasLit)
|
||||
if (HasLit || HasLit64)
|
||||
return ParseStatus::NoMatch;
|
||||
Operands.push_back(AMDGPUOperand::CreateExpr(this, Expr, S));
|
||||
}
|
||||
@ -3259,13 +3310,14 @@ ParseStatus AMDGPUAsmParser::parseReg(OperandVector &Operands) {
|
||||
}
|
||||
|
||||
ParseStatus AMDGPUAsmParser::parseRegOrImm(OperandVector &Operands,
|
||||
bool HasSP3AbsMod, bool HasLit) {
|
||||
bool HasSP3AbsMod, bool HasLit,
|
||||
bool HasLit64) {
|
||||
ParseStatus Res = parseReg(Operands);
|
||||
if (!Res.isNoMatch())
|
||||
return Res;
|
||||
if (isModifier())
|
||||
return ParseStatus::NoMatch;
|
||||
return parseImm(Operands, HasSP3AbsMod, HasLit);
|
||||
return parseImm(Operands, HasSP3AbsMod, HasLit, HasLit64);
|
||||
}
|
||||
|
||||
bool
|
||||
@ -3361,7 +3413,7 @@ AMDGPUAsmParser::parseRegOrImmWithFPInputMods(OperandVector &Operands,
|
||||
bool AllowImm) {
|
||||
bool Neg, SP3Neg;
|
||||
bool Abs, SP3Abs;
|
||||
bool Lit;
|
||||
bool Lit64, Lit;
|
||||
SMLoc Loc;
|
||||
|
||||
// Disable ambiguous constructs like '--1' etc. Should use neg(-1) instead.
|
||||
@ -3381,7 +3433,15 @@ AMDGPUAsmParser::parseRegOrImmWithFPInputMods(OperandVector &Operands,
|
||||
if (Abs && !skipToken(AsmToken::LParen, "expected left paren after abs"))
|
||||
return ParseStatus::Failure;
|
||||
|
||||
Lit = trySkipId("lit");
|
||||
Lit64 = trySkipId("lit64");
|
||||
if (Lit64) {
|
||||
if (!skipToken(AsmToken::LParen, "expected left paren after lit64"))
|
||||
return ParseStatus::Failure;
|
||||
if (!has64BitLiterals())
|
||||
return Error(Loc, "lit64 is not supported on this GPU");
|
||||
}
|
||||
|
||||
Lit = !Lit64 && trySkipId("lit");
|
||||
if (Lit && !skipToken(AsmToken::LParen, "expected left paren after lit"))
|
||||
return ParseStatus::Failure;
|
||||
|
||||
@ -3392,14 +3452,16 @@ AMDGPUAsmParser::parseRegOrImmWithFPInputMods(OperandVector &Operands,
|
||||
|
||||
ParseStatus Res;
|
||||
if (AllowImm) {
|
||||
Res = parseRegOrImm(Operands, SP3Abs, Lit);
|
||||
Res = parseRegOrImm(Operands, SP3Abs, Lit, Lit64);
|
||||
} else {
|
||||
Res = parseReg(Operands);
|
||||
}
|
||||
if (!Res.isSuccess())
|
||||
return (SP3Neg || Neg || SP3Abs || Abs || Lit) ? ParseStatus::Failure : Res;
|
||||
return (SP3Neg || Neg || SP3Abs || Abs || Lit || Lit64)
|
||||
? ParseStatus::Failure
|
||||
: Res;
|
||||
|
||||
if (Lit && !Operands.back()->isImm())
|
||||
if ((Lit || Lit64) && !Operands.back()->isImm())
|
||||
Error(Loc, "expected immediate with lit modifier");
|
||||
|
||||
if (SP3Abs && !skipToken(AsmToken::Pipe, "expected vertical bar"))
|
||||
@ -3408,15 +3470,17 @@ AMDGPUAsmParser::parseRegOrImmWithFPInputMods(OperandVector &Operands,
|
||||
return ParseStatus::Failure;
|
||||
if (Neg && !skipToken(AsmToken::RParen, "expected closing parentheses"))
|
||||
return ParseStatus::Failure;
|
||||
if (Lit && !skipToken(AsmToken::RParen, "expected closing parentheses"))
|
||||
if ((Lit || Lit64) &&
|
||||
!skipToken(AsmToken::RParen, "expected closing parentheses"))
|
||||
return ParseStatus::Failure;
|
||||
|
||||
AMDGPUOperand::Modifiers Mods;
|
||||
Mods.Abs = Abs || SP3Abs;
|
||||
Mods.Neg = Neg || SP3Neg;
|
||||
Mods.Lit = Lit;
|
||||
Mods.Lit64 = Lit64;
|
||||
|
||||
if (Mods.hasFPModifiers() || Lit) {
|
||||
if (Mods.hasFPModifiers() || Lit || Lit64) {
|
||||
AMDGPUOperand &Op = static_cast<AMDGPUOperand &>(*Operands.back());
|
||||
if (Op.isExpr())
|
||||
return Error(Op.getStartLoc(), "expected an absolute expression");
|
||||
@ -4588,7 +4652,7 @@ bool AMDGPUAsmParser::validateSOPLiteral(const MCInst &Inst) const {
|
||||
|
||||
unsigned NumExprs = 0;
|
||||
unsigned NumLiterals = 0;
|
||||
uint32_t LiteralValue;
|
||||
uint64_t LiteralValue;
|
||||
|
||||
for (int OpIdx : OpIndices) {
|
||||
if (OpIdx == -1) break;
|
||||
@ -4597,7 +4661,7 @@ bool AMDGPUAsmParser::validateSOPLiteral(const MCInst &Inst) const {
|
||||
// Exclude special imm operands (like that used by s_set_gpr_idx_on)
|
||||
if (AMDGPU::isSISrcOperand(Desc, OpIdx)) {
|
||||
if (MO.isImm() && !isInlineConstant(Inst, OpIdx)) {
|
||||
uint32_t Value = static_cast<uint32_t>(MO.getImm());
|
||||
uint64_t Value = static_cast<uint64_t>(MO.getImm());
|
||||
if (NumLiterals == 0 || LiteralValue != Value) {
|
||||
LiteralValue = Value;
|
||||
++NumLiterals;
|
||||
|
||||
@ -1484,6 +1484,20 @@ MCOperand AMDGPUDisassembler::decodeLiteralConstant(bool ExtendFP64) const {
|
||||
return MCOperand::createImm(ExtendFP64 ? Literal64 : Literal);
|
||||
}
|
||||
|
||||
MCOperand AMDGPUDisassembler::decodeLiteral64Constant() const {
|
||||
assert(STI.hasFeature(AMDGPU::Feature64BitLiterals));
|
||||
|
||||
if (!HasLiteral) {
|
||||
if (Bytes.size() < 8) {
|
||||
return errOperand(0, "cannot read literal64, inst bytes left " +
|
||||
Twine(Bytes.size()));
|
||||
}
|
||||
HasLiteral = true;
|
||||
Literal64 = eatBytes<uint64_t>(Bytes);
|
||||
}
|
||||
return MCOperand::createImm(Literal64);
|
||||
}
|
||||
|
||||
MCOperand AMDGPUDisassembler::decodeIntImmed(unsigned Imm) {
|
||||
using namespace AMDGPU::EncValues;
|
||||
|
||||
@ -1767,6 +1781,10 @@ MCOperand AMDGPUDisassembler::decodeNonVGPRSrcOp(unsigned Width,
|
||||
Val == LITERAL_CONST)
|
||||
return MCOperand::createImm(Val);
|
||||
|
||||
if (Val == LITERAL64_CONST && STI.hasFeature(AMDGPU::Feature64BitLiterals)) {
|
||||
return decodeLiteral64Constant();
|
||||
}
|
||||
|
||||
switch (Width) {
|
||||
case 32:
|
||||
case 16:
|
||||
|
||||
@ -179,6 +179,7 @@ public:
|
||||
|
||||
MCOperand decodeMandatoryLiteralConstant(unsigned Imm) const;
|
||||
MCOperand decodeLiteralConstant(bool ExtendFP64) const;
|
||||
MCOperand decodeLiteral64Constant() const;
|
||||
|
||||
MCOperand decodeSrcOp(unsigned Width, unsigned Val) const;
|
||||
|
||||
|
||||
@ -231,6 +231,7 @@ protected:
|
||||
bool HasSALUFloatInsts = false;
|
||||
bool HasPseudoScalarTrans = false;
|
||||
bool HasRestrictedSOffset = false;
|
||||
bool Has64BitLiterals = false;
|
||||
bool HasBitOp3Insts = false;
|
||||
bool HasTransposeLoadF4F6Insts = false;
|
||||
bool HasPrngInst = false;
|
||||
@ -1384,6 +1385,9 @@ public:
|
||||
/// GFX1250.
|
||||
bool hasWaitXCnt() const { return HasWaitXcnt; }
|
||||
|
||||
// A single DWORD instructions can use a 64-bit literal.
|
||||
bool has64BitLiterals() const { return Has64BitLiterals; }
|
||||
|
||||
bool hasPointSampleAccel() const { return HasPointSampleAccel; }
|
||||
|
||||
bool hasLdsBarrierArriveAtomic() const { return HasLdsBarrierArriveAtomic; }
|
||||
|
||||
@ -604,15 +604,21 @@ void AMDGPUInstPrinter::printImmediate64(uint64_t Imm,
|
||||
else if (Imm == 0x3fc45f306dc9c882 &&
|
||||
STI.hasFeature(AMDGPU::FeatureInv2PiInlineImm))
|
||||
O << "0.15915494309189532";
|
||||
else if (IsFP) {
|
||||
assert(AMDGPU::isValid32BitLiteral(Imm, true));
|
||||
O << formatHex(static_cast<uint64_t>(Hi_32(Imm)));
|
||||
} else {
|
||||
assert(isUInt<32>(Imm) || isInt<32>(Imm));
|
||||
else {
|
||||
// This part needs to align with AMDGPUOperand::addLiteralImmOperand.
|
||||
if (IsFP) {
|
||||
if (STI.hasFeature(AMDGPU::Feature64BitLiterals) && Lo_32(Imm))
|
||||
O << "lit64(" << formatHex(static_cast<uint64_t>(Imm)) << ')';
|
||||
else
|
||||
O << formatHex(static_cast<uint64_t>(Hi_32(Imm)));
|
||||
return;
|
||||
}
|
||||
|
||||
// In rare situations, we will have a 32-bit literal in a 64-bit
|
||||
// operand. This is technically allowed for the encoding of s_mov_b64.
|
||||
O << formatHex(static_cast<uint64_t>(Imm));
|
||||
if (STI.hasFeature(AMDGPU::Feature64BitLiterals) &&
|
||||
(!isInt<32>(Imm) || !isUInt<32>(Imm)))
|
||||
O << "lit64(" << formatHex(static_cast<uint64_t>(Imm)) << ')';
|
||||
else
|
||||
O << formatHex(static_cast<uint64_t>(Imm));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -218,7 +218,8 @@ static uint32_t getLit16IntEncoding(uint32_t Val, const MCSubtargetInfo &STI) {
|
||||
return getLit32Encoding(Val, STI);
|
||||
}
|
||||
|
||||
static uint32_t getLit64Encoding(uint64_t Val, const MCSubtargetInfo &STI) {
|
||||
static uint32_t getLit64Encoding(uint64_t Val, const MCSubtargetInfo &STI,
|
||||
bool IsFP) {
|
||||
uint32_t IntImm = getIntInlineImmEncoding(static_cast<int64_t>(Val));
|
||||
if (IntImm != 0)
|
||||
return IntImm;
|
||||
@ -251,6 +252,18 @@ static uint32_t getLit64Encoding(uint64_t Val, const MCSubtargetInfo &STI) {
|
||||
STI.hasFeature(AMDGPU::FeatureInv2PiInlineImm))
|
||||
return 248;
|
||||
|
||||
// The rest part needs to align with AMDGPUInstPrinter::printImmediate64.
|
||||
|
||||
if (IsFP) {
|
||||
return STI.hasFeature(AMDGPU::Feature64BitLiterals) && Lo_32(Val) ? 254
|
||||
: 255;
|
||||
}
|
||||
|
||||
return STI.hasFeature(AMDGPU::Feature64BitLiterals) &&
|
||||
(!isInt<32>(Val) || !isUInt<32>(Val))
|
||||
? 254
|
||||
: 255;
|
||||
|
||||
return 255;
|
||||
}
|
||||
|
||||
@ -261,7 +274,10 @@ AMDGPUMCCodeEmitter::getLitEncoding(const MCOperand &MO,
|
||||
int64_t Imm;
|
||||
if (MO.isExpr()) {
|
||||
if (!MO.getExpr()->evaluateAsAbsolute(Imm))
|
||||
return 255;
|
||||
return (STI.hasFeature(AMDGPU::Feature64BitLiterals) &&
|
||||
OpInfo.OperandType == AMDGPU::OPERAND_REG_IMM_INT64)
|
||||
? 254
|
||||
: 255;
|
||||
} else {
|
||||
assert(!MO.isDFPImm());
|
||||
|
||||
@ -284,11 +300,13 @@ AMDGPUMCCodeEmitter::getLitEncoding(const MCOperand &MO,
|
||||
return getLit32Encoding(static_cast<uint32_t>(Imm), STI);
|
||||
|
||||
case AMDGPU::OPERAND_REG_IMM_INT64:
|
||||
case AMDGPU::OPERAND_REG_IMM_FP64:
|
||||
case AMDGPU::OPERAND_REG_INLINE_C_INT64:
|
||||
return getLit64Encoding(static_cast<uint64_t>(Imm), STI, false);
|
||||
|
||||
case AMDGPU::OPERAND_REG_INLINE_C_FP64:
|
||||
case AMDGPU::OPERAND_REG_INLINE_AC_FP64:
|
||||
return getLit64Encoding(static_cast<uint64_t>(Imm), STI);
|
||||
case AMDGPU::OPERAND_REG_IMM_FP64:
|
||||
return getLit64Encoding(static_cast<uint64_t>(Imm), STI, true);
|
||||
|
||||
case AMDGPU::OPERAND_REG_IMM_INT16:
|
||||
case AMDGPU::OPERAND_REG_INLINE_C_INT16:
|
||||
@ -418,7 +436,7 @@ void AMDGPUMCCodeEmitter::encodeInstruction(const MCInst &MI,
|
||||
// Is this operand a literal immediate?
|
||||
const MCOperand &Op = MI.getOperand(i);
|
||||
auto Enc = getLitEncoding(Op, Desc.operands()[i], STI);
|
||||
if (!Enc || *Enc != 255)
|
||||
if (!Enc || (*Enc != 255 && *Enc != 254))
|
||||
continue;
|
||||
|
||||
// Yes! Encode it
|
||||
@ -432,10 +450,14 @@ void AMDGPUMCCodeEmitter::encodeInstruction(const MCInst &MI,
|
||||
} else // Exprs will be replaced with a fixup value.
|
||||
llvm_unreachable("Must be immediate or expr");
|
||||
|
||||
if (Desc.operands()[i].OperandType == AMDGPU::OPERAND_REG_IMM_FP64)
|
||||
Imm = Hi_32(Imm);
|
||||
|
||||
support::endian::write<uint32_t>(CB, Imm, llvm::endianness::little);
|
||||
if (*Enc == 254) {
|
||||
assert(STI.hasFeature(AMDGPU::Feature64BitLiterals));
|
||||
support::endian::write<uint64_t>(CB, Imm, llvm::endianness::little);
|
||||
} else {
|
||||
if (Desc.operands()[i].OperandType == AMDGPU::OPERAND_REG_IMM_FP64)
|
||||
Imm = Hi_32(Imm);
|
||||
support::endian::write<uint32_t>(CB, Imm, llvm::endianness::little);
|
||||
}
|
||||
|
||||
// Only one literal value allowed
|
||||
break;
|
||||
|
||||
@ -334,6 +334,7 @@ enum : unsigned {
|
||||
INLINE_INTEGER_C_MAX = 208,
|
||||
INLINE_FLOATING_C_MIN = 240,
|
||||
INLINE_FLOATING_C_MAX = 248,
|
||||
LITERAL64_CONST = 254,
|
||||
LITERAL_CONST = 255,
|
||||
VGPR_MIN = 256,
|
||||
VGPR_MAX = 511,
|
||||
|
||||
@ -2903,7 +2903,7 @@ bool isInlinableLiteralV2F16(uint32_t Literal) {
|
||||
|
||||
bool isValid32BitLiteral(uint64_t Val, bool IsFP64) {
|
||||
if (IsFP64)
|
||||
return !(Val & 0xffffffffu);
|
||||
return !Lo_32(Val);
|
||||
|
||||
return isUInt<32>(Val) || isInt<32>(Val);
|
||||
}
|
||||
|
||||
64
llvm/test/MC/AMDGPU/gfx1250_asm_salu_lit64.s
Normal file
64
llvm/test/MC/AMDGPU/gfx1250_asm_salu_lit64.s
Normal file
@ -0,0 +1,64 @@
|
||||
// RUN: llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1250 %s | FileCheck --check-prefix=GFX1250 %s
|
||||
|
||||
s_mov_b64 s[2:3], 0x10abcdef12345678
|
||||
// GFX1250: s_mov_b64 s[2:3], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x01,0x82,0xbe,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_add_nc_u64 s[2:3], s[4:5], 0x10abcdef12345678
|
||||
// GFX1250: s_add_nc_u64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0xa9,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_mul_u64 s[2:3], 0x10abcdef12345678, s[4:5]
|
||||
// GFX1250: s_mul_u64 s[2:3], lit64(0x10abcdef12345678), s[4:5] ; encoding: [0xfe,0x04,0x82,0xaa,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_and_b64 s[2:3], 0x10abcdef12345678, s[4:5]
|
||||
// GFX1250: s_and_b64 s[2:3], lit64(0x10abcdef12345678), s[4:5] ; encoding: [0xfe,0x04,0x82,0x8b,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_or_b64 s[2:3], s[4:5], 0x10abcdef12345678
|
||||
// GFX1250: s_or_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x8c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_xor_b64 s[2:3], 0x10abcdef12345678, s[4:5]
|
||||
// GFX1250: s_xor_b64 s[2:3], lit64(0x10abcdef12345678), s[4:5] ; encoding: [0xfe,0x04,0x82,0x8d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_and_not1_b64 s[2:3], 0x10abcdef12345678, 0x10abcdef12345678
|
||||
// GFX1250: s_and_not1_b64 s[2:3], lit64(0x10abcdef12345678), lit64(0x10abcdef12345678) ; encoding: [0xfe,0xfe,0x82,0x91,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_or_not1_b64 s[2:3], s[4:5], 0x10abcdef12345678
|
||||
// GFX1250: s_or_not1_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x92,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_andn2_b64 s[2:3], 0x10abcdef12345678, s[4:5]
|
||||
// GFX1250: s_and_not1_b64 s[2:3], lit64(0x10abcdef12345678), s[4:5] ; encoding: [0xfe,0x04,0x82,0x91,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_orn2_b64 s[2:3], s[4:5], 0x10abcdef12345678
|
||||
// GFX1250: s_or_not1_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x92,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_nand_b64 s[2:3], s[4:5], 0x10abcdef12345678
|
||||
// GFX1250: s_nand_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x8e,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_nor_b64 s[2:3], s[4:5], 0x10abcdef12345678
|
||||
// GFX1250: s_nor_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x8f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_xnor_b64 s[2:3], s[4:5], 0x10abcdef12345678
|
||||
// GFX1250: s_xnor_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_lshl_b64 s[2:3], 0x10abcdef12345678, s4
|
||||
// GFX1250: s_lshl_b64 s[2:3], lit64(0x10abcdef12345678), s4 ; encoding: [0xfe,0x04,0x82,0x84,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_lshr_b64 s[2:3], 0x10abcdef12345678, s4
|
||||
// GFX1250: s_lshr_b64 s[2:3], lit64(0x10abcdef12345678), s4 ; encoding: [0xfe,0x04,0x82,0x85,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_ashr_i64 s[2:3], 0x10abcdef12345678, s4
|
||||
// GFX1250: s_ashr_i64 s[2:3], lit64(0x10abcdef12345678), s4 ; encoding: [0xfe,0x04,0x82,0x86,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_bfe_u64 s[2:3], 0x10abcdef12345678, 5
|
||||
// GFX1250: s_bfe_u64 s[2:3], lit64(0x10abcdef12345678), 5 ; encoding: [0xfe,0x85,0x02,0x94,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_bfe_i64 s[2:3], 0x80abcdef12345678, 5
|
||||
// GFX1250: s_bfe_i64 s[2:3], lit64(0x80abcdef12345678), 5 ; encoding: [0xfe,0x85,0x82,0x94,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x80]
|
||||
|
||||
s_cselect_b64 s[2:3], s[4:5], 0x10abcdef12345678
|
||||
// GFX1250: s_cselect_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x98,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
s_mov_b64 s[2:3], 0xffffffff01234567
|
||||
// GFX1250: s_mov_b64 s[2:3], lit64(0xffffffff01234567) ; encoding: [0xfe,0x01,0x82,0xbe,0x67,0x45,0x23,0x01,0xff,0xff,0xff,0xff]
|
||||
|
||||
s_mov_b64 s[2:3], lit64(0x777)
|
||||
// GFX1250: s_mov_b64 s[2:3], 0x777 ; encoding: [0xff,0x01,0x82,0xbe,0x77,0x07,0x00,0x00]
|
||||
260
llvm/test/MC/AMDGPU/gfx1250_asm_valu_lit64.s
Normal file
260
llvm/test/MC/AMDGPU/gfx1250_asm_valu_lit64.s
Normal file
@ -0,0 +1,260 @@
|
||||
// RUN: llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1250 %s | FileCheck --check-prefix=GFX1250 %s
|
||||
|
||||
v_ceil_f64 v[254:255], 0x10abcdef12345678
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x30,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cvt_f32_f64 v255, 0x10abcdef12345678
|
||||
// GFX1250: v_cvt_f32_f64_e32 v255, lit64(0x10abcdef12345678) ; encoding: [0xfe,0x1e,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cvt_i32_f64 v255, 0x10abcdef12345678
|
||||
// GFX1250: v_cvt_i32_f64_e32 v255, lit64(0x10abcdef12345678) ; encoding: [0xfe,0x06,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cvt_u32_f64 v255, 0x10abcdef12345678
|
||||
// GFX1250: v_cvt_u32_f64_e32 v255, lit64(0x10abcdef12345678) ; encoding: [0xfe,0x2a,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_floor_f64 v[254:255], 0x10abcdef12345678
|
||||
// GFX1250: v_floor_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x34,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_fract_f64 v[254:255], 0x10abcdef12345678
|
||||
// GFX1250: v_fract_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x7c,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_frexp_exp_i32_f64 v255, 0x10abcdef12345678
|
||||
// GFX1250: v_frexp_exp_i32_f64_e32 v255, lit64(0x10abcdef12345678) ; encoding: [0xfe,0x78,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_frexp_mant_f64 v[254:255], 0x10abcdef12345678
|
||||
// GFX1250: v_frexp_mant_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x7a,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_rcp_f64 v[254:255], 0x10abcdef12345678
|
||||
// GFX1250: v_rcp_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x5e,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_rndne_f64 v[254:255], 0x10abcdef12345678
|
||||
// GFX1250: v_rndne_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x32,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_rsq_f64 v[254:255], 0x10abcdef12345678
|
||||
// GFX1250: v_rsq_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x62,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_sqrt_f64 v[254:255], 0x10abcdef12345678
|
||||
// GFX1250: v_sqrt_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x68,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_trunc_f64 v[254:255], 0x10abcdef12345678
|
||||
// GFX1250: v_trunc_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x2e,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_add_f64 v[254:255], 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_add_f64_e32 v[254:255], lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xfd,0x05,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_max_num_f64 v[254:255], 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_max_num_f64_e32 v[254:255], lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xfd,0x1d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_min_num_f64 v[254:255], 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_min_num_f64_e32 v[254:255], lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xfd,0x1b,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_mul_f64 v[254:255], 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_mul_f64_e32 v[254:255], lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xfd,0x0d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_class_f64 vcc_lo, 0x10abcdef12345678, v255
|
||||
// GFX1250: v_cmp_class_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v255 ; encoding: [0xfe,0xfe,0xff,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_eq_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_eq_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x45,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_ge_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_ge_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4d,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_gt_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_gt_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x49,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_gt_i64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_gt_i64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa9,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_gt_u64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_gt_u64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb9,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_le_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_le_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x47,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_le_i64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_le_i64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa7,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_le_u64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_le_u64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb7,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_lg_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_lg_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4b,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_lt_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_lt_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x43,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_lt_i64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_lt_i64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa3,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_lt_u64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_lt_u64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb3,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_ne_i64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_ne_i64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xab,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_ne_u64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_ne_u64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xbb,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_neq_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_neq_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x5b,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_nge_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_nge_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x53,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_ngt_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_ngt_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x57,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_nle_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_nle_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x59,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_nlg_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_nlg_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x55,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_nlt_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_nlt_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x5d,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_o_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_o_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4f,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmp_u_f64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmp_u_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x51,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_class_f64 0x10abcdef12345678, v255
|
||||
// GFX1250: v_cmpx_class_f64_e32 lit64(0x10abcdef12345678), v255 ; encoding: [0xfe,0xfe,0xff,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_eq_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_eq_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x45,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_eq_i64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_eq_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa5,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_eq_u64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_eq_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb5,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_ge_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_ge_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4d,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_ge_i64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_ge_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xad,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_ge_u64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_ge_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xbd,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_gt_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_gt_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x49,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_gt_i64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_gt_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa9,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_gt_u64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_gt_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb9,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_le_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_le_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x47,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_le_i64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_le_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa7,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_le_u64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_le_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb7,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_lg_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_lg_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4b,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_lt_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_lt_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x43,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_lt_i64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_lt_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa3,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_lt_u64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_lt_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb3,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_ne_i64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_ne_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xab,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_ne_u64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_ne_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xbb,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_neq_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_neq_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x5b,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_nge_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_nge_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x53,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_ngt_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_ngt_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x57,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_nle_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_nle_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x59,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_nlg_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_nlg_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x55,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_nlt_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_nlt_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x5d,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_o_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_o_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4f,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_cmpx_u_f64 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250: v_cmpx_u_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x51,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
|
||||
v_ceil_f64 v[254:255], 153.1
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], lit64(0x4063233333333333) ; encoding: [0xfe,0x30,0xfc,0x7f,0x33,0x33,0x33,0x33,0x33,0x23,0x63,0x40]
|
||||
|
||||
v_ceil_f64 v[254:255], 1.5e22
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], lit64(0x448969368974c05b) ; encoding: [0xfe,0x30,0xfc,0x7f,0x5b,0xc0,0x74,0x89,0x36,0x69,0x89,0x44]
|
||||
|
||||
// These 64-bit literals can be represented as 32-bit with encoding 255. HW behavior:
|
||||
// 64 bit float: the lower 32-bit are padded with zero
|
||||
// 64-bit unsigned integer: zero extended to 64 bits
|
||||
// 64-bit signed integer: sign extended to 64 bits
|
||||
|
||||
v_ceil_f64 v[254:255], 153.0
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], 0x40632000 ; encoding: [0xff,0x30,0xfc,0x7f,0x00,0x20,0x63,0x40]
|
||||
|
||||
v_ceil_f64 v[254:255], 0x40632000
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], 0x40632000 ; encoding: [0xff,0x30,0xfc,0x7f,0x00,0x20,0x63,0x40]
|
||||
|
||||
v_ceil_f64 v[254:255], 0x4063200000000000
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], 0x40632000 ; encoding: [0xff,0x30,0xfc,0x7f,0x00,0x20,0x63,0x40]
|
||||
|
||||
v_mov_b64 v[0:1], 0x12345678
|
||||
// GFX1250: v_mov_b64_e32 v[0:1], 0x12345678 ; encoding: [0xff,0x3a,0x00,0x7e,0x78,0x56,0x34,0x12]
|
||||
|
||||
// Check inlineble literals:
|
||||
|
||||
// 1.0 / (2.0 * pi)
|
||||
v_ceil_f64 v[254:255], 0x3fc45f306dc9c882
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], 0.15915494309189532 ; encoding: [0xf8,0x30,0xfc,0x7f]
|
||||
|
||||
v_ceil_f64 v[254:255], 0.15915494309189532
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], 0.15915494309189532 ; encoding: [0xf8,0x30,0xfc,0x7f]
|
||||
|
||||
v_ceil_f64 v[254:255], -4.0
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], -4.0 ; encoding: [0xf7,0x30,0xfc,0x7f]
|
||||
|
||||
v_ceil_f64 v[254:255], 2.0
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], 2.0 ; encoding: [0xf4,0x30,0xfc,0x7f]
|
||||
|
||||
v_ceil_f64 v[254:255], 0.0
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], 0 ; encoding: [0x80,0x30,0xfc,0x7f]
|
||||
|
||||
v_ceil_f64 v[254:255], 0x0
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], 0 ; encoding: [0x80,0x30,0xfc,0x7f]
|
||||
|
||||
// Enforce 64-bit literal even if it fits in low 32 bits (a very small double number).
|
||||
// Given the backward compatibility with the syntax allowing short hex strings representing
|
||||
// high 32 bits only this is the only way to encode a small number as a hex.
|
||||
// Make sure lit64() is used on printing to disambiguate short hex string.
|
||||
|
||||
v_ceil_f64 v[254:255], lit64(0x7b)
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], lit64(0x7b) ; encoding: [0xfe,0x30,0xfc,0x7f,0x7b,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
|
||||
|
||||
v_ceil_f64 v[254:255], lit64(123)
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], lit64(0x7b) ; encoding: [0xfe,0x30,0xfc,0x7f,0x7b,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
|
||||
|
||||
v_ceil_f64 v[254:255], 2.1e-320
|
||||
// GFX1250: v_ceil_f64_e32 v[254:255], lit64(0x109a) ; encoding: [0xfe,0x30,0xfc,0x7f,0x9a,0x10,0x00,0x00,0x00,0x00,0x00,0x00]
|
||||
63
llvm/test/MC/AMDGPU/gfx1250_err.s
Normal file
63
llvm/test/MC/AMDGPU/gfx1250_err.s
Normal file
@ -0,0 +1,63 @@
|
||||
// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1250 -show-encoding %s 2>&1 | FileCheck --check-prefixes=GFX1250-ERR --implicit-check-not=error: -strict-whitespace %s
|
||||
|
||||
// Check for unique 64-bit literal
|
||||
|
||||
s_andn2_b64 s[2:3], 0x10abcdef12345678, 0xabcdef12345678
|
||||
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
|
||||
// GFX1250-ERR: s_andn2_b64 s[2:3], 0x10abcdef12345678, 0xabcdef12345678
|
||||
// GFX1250-ERR: ^
|
||||
|
||||
s_bfe_u64 s[2:3], 0x10abcdef12345678, 100
|
||||
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
|
||||
// GFX1250-ERR: s_bfe_u64 s[2:3], 0x10abcdef12345678, 100
|
||||
// GFX1250-ERR: ^
|
||||
|
||||
s_call_b64 s[2:3], 0x10abcdef12345678
|
||||
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 16-bit signed jump offset
|
||||
// GFX1250-ERR: s_call_b64 s[2:3], 0x10abcdef12345678
|
||||
// GFX1250-ERR: ^
|
||||
|
||||
// VOP3 instructions cannot use 64-bit literals
|
||||
|
||||
v_ceil_f64_e64 v[254:255], 0x10abcdef12345678
|
||||
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
|
||||
// GFX1250-ERR: v_ceil_f64_e64 v[254:255], 0x10abcdef12345678
|
||||
// GFX1250-ERR: ^
|
||||
|
||||
v_add_f64_e64 v[254:255], 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
|
||||
// GFX1250-ERR: v_add_f64_e64 v[254:255], 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250-ERR: ^
|
||||
|
||||
v_cmp_lt_f64_e64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
|
||||
// GFX1250-ERR: v_cmp_lt_f64_e64 vcc_lo, 0x10abcdef12345678, v[254:255]
|
||||
// GFX1250-ERR: ^
|
||||
|
||||
v_fma_f64 v[0:1], 0x10abcdef12345678, v[2:3], v[4:5]
|
||||
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
|
||||
// GFX1250-ERR: v_fma_f64 v[0:1], 0x10abcdef12345678, v[2:3], v[4:5]
|
||||
// GFX1250-ERR: ^
|
||||
|
||||
// Do not allow 64-bit literals for 32-bit operands. This may be possible to
|
||||
// encode but not practically useful and can be misleading.
|
||||
|
||||
s_bfe_u64 s[2:3], 0x10abcdef12345678, 0x10abcdef12345678
|
||||
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
|
||||
// GFX1250-ERR: s_bfe_u64 s[2:3], 0x10abcdef12345678, 0x10abcdef12345678
|
||||
// GFX1250-ERR: ^
|
||||
|
||||
v_add_f32 v1, 0x12345678abcdef00, v2
|
||||
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
|
||||
// GFX1250-ERR: v_add_f32 v1, 0x12345678abcdef00, v2
|
||||
// GFX1250-ERR: ^
|
||||
|
||||
v_ceil_f64 v[2:3], lit64(v[0:1])
|
||||
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected immediate with lit modifier
|
||||
// GFX1250-ERR: v_ceil_f64 v[2:3], lit64(v[0:1]
|
||||
// GFX1250-ERR: ^
|
||||
|
||||
v_ceil_f64 v[2:3], lit64(123
|
||||
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected closing parentheses
|
||||
// GFX1250-ERR: v_ceil_f64 v[2:3], lit64(123
|
||||
// GFX1250-ERR: ^
|
||||
@ -1,5 +1,6 @@
|
||||
// NOTE: Assertions have been autogenerated by utils/update_mc_test_checks.py UTC_ARGS: --version 5
|
||||
// RUN: llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1200 %s | FileCheck --check-prefix=GFX12 %s
|
||||
// RUN: llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1200 %s | FileCheck --check-prefixes=GFX12,GFX1200 %s
|
||||
// RUN: llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1250 %s | FileCheck --check-prefixes=GFX12,GFX1250 %s
|
||||
|
||||
s_alloc_vgpr 0x1235
|
||||
// GFX12: s_alloc_vgpr 0x1235 ; encoding: [0xff,0x53,0x80,0xbe,0x35,0x12,0x00,0x00]
|
||||
@ -839,7 +840,8 @@ s_mov_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_mov_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x01,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_mov_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_mov_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x01,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_mov_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x01,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_mov_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x01,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_mov_b64 s[0:1], null
|
||||
// GFX12: s_mov_b64 s[0:1], null ; encoding: [0x7c,0x01,0x80,0xbe]
|
||||
@ -947,7 +949,8 @@ s_cmov_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_cmov_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x03,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_cmov_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_cmov_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x03,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_cmov_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x03,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_cmov_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x03,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_not_b32 s0, s1
|
||||
// GFX12: s_not_b32 s0, s1 ; encoding: [0x01,0x1e,0x80,0xbe]
|
||||
@ -1049,7 +1052,8 @@ s_not_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_not_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x1f,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_not_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_not_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1f,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_not_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1f,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_not_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x1f,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_wqm_b32 s0, s1
|
||||
// GFX12: s_wqm_b32 s0, s1 ; encoding: [0x01,0x1c,0x80,0xbe]
|
||||
@ -1151,7 +1155,8 @@ s_wqm_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_wqm_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x1d,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_wqm_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_wqm_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_wqm_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_wqm_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x1d,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_brev_b32 s0, s1
|
||||
// GFX12: s_brev_b32 s0, s1 ; encoding: [0x01,0x04,0x80,0xbe]
|
||||
@ -1253,7 +1258,8 @@ s_brev_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_brev_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x05,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_brev_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_brev_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x05,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_brev_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x05,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_brev_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x05,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_bcnt0_i32_b32 s0, s1
|
||||
// GFX12: s_bcnt0_i32_b32 s0, s1 ; encoding: [0x01,0x16,0x80,0xbe]
|
||||
@ -1364,7 +1370,8 @@ s_bcnt0_i32_b64 s0, 0x3f717273
|
||||
// GFX12: s_bcnt0_i32_b64 s0, 0x3f717273 ; encoding: [0xff,0x17,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_bcnt0_i32_b64 s0, 0xaf123456
|
||||
// GFX12: s_bcnt0_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x17,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_bcnt0_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x17,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_bcnt0_i32_b64 s0, lit64(0xaf123456) ; encoding: [0xfe,0x17,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_bcnt1_i32_b32 s0, s1
|
||||
// GFX12: s_bcnt1_i32_b32 s0, s1 ; encoding: [0x01,0x18,0x80,0xbe]
|
||||
@ -1475,7 +1482,8 @@ s_bcnt1_i32_b64 s0, 0x3f717273
|
||||
// GFX12: s_bcnt1_i32_b64 s0, 0x3f717273 ; encoding: [0xff,0x19,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_bcnt1_i32_b64 s0, 0xaf123456
|
||||
// GFX12: s_bcnt1_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x19,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_bcnt1_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x19,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_bcnt1_i32_b64 s0, lit64(0xaf123456) ; encoding: [0xfe,0x19,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_ff1_i32_b32 s0, s1
|
||||
// GFX12: s_ctz_i32_b32 s0, s1 ; encoding: [0x01,0x08,0x80,0xbe]
|
||||
@ -1586,7 +1594,8 @@ s_ff1_i32_b64 s0, 0x3f717273
|
||||
// GFX12: s_ctz_i32_b64 s0, 0x3f717273 ; encoding: [0xff,0x09,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_ff1_i32_b64 s0, 0xaf123456
|
||||
// GFX12: s_ctz_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x09,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_ctz_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x09,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_ctz_i32_b64 s0, lit64(0xaf123456) ; encoding: [0xfe,0x09,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_flbit_i32_b32 s0, s1
|
||||
// GFX12: s_clz_i32_u32 s0, s1 ; encoding: [0x01,0x0a,0x80,0xbe]
|
||||
@ -1697,7 +1706,8 @@ s_flbit_i32_b64 s0, 0x3f717273
|
||||
// GFX12: s_clz_i32_u64 s0, 0x3f717273 ; encoding: [0xff,0x0b,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_flbit_i32_b64 s0, 0xaf123456
|
||||
// GFX12: s_clz_i32_u64 s0, 0xaf123456 ; encoding: [0xff,0x0b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_clz_i32_u64 s0, 0xaf123456 ; encoding: [0xff,0x0b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_clz_i32_u64 s0, lit64(0xaf123456) ; encoding: [0xfe,0x0b,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_flbit_i32 s0, s1
|
||||
// GFX12: s_cls_i32 s0, s1 ; encoding: [0x01,0x0c,0x80,0xbe]
|
||||
@ -1808,7 +1818,8 @@ s_flbit_i32_i64 s0, 0x3f717273
|
||||
// GFX12: s_cls_i32_i64 s0, 0x3f717273 ; encoding: [0xff,0x0d,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_flbit_i32_i64 s0, 0xaf123456
|
||||
// GFX12: s_cls_i32_i64 s0, 0xaf123456 ; encoding: [0xff,0x0d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_cls_i32_i64 s0, 0xaf123456 ; encoding: [0xff,0x0d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_cls_i32_i64 s0, lit64(0xaf123456) ; encoding: [0xfe,0x0d,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_sext_i32_i8 s0, s1
|
||||
// GFX12: s_sext_i32_i8 s0, s1 ; encoding: [0x01,0x0e,0x80,0xbe]
|
||||
@ -2153,52 +2164,68 @@ s_bitset1_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_bitset1_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x13,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
|
||||
s_getpc_b64 s[0:1]
|
||||
// GFX12: s_getpc_b64 s[0:1] ; encoding: [0x00,0x47,0x80,0xbe]
|
||||
// GFX1200: s_getpc_b64 s[0:1] ; encoding: [0x00,0x47,0x80,0xbe]
|
||||
// GFX1250: s_get_pc_i64 s[0:1] ; encoding: [0x00,0x47,0x80,0xbe]
|
||||
|
||||
s_getpc_b64 s[104:105]
|
||||
// GFX12: s_getpc_b64 s[104:105] ; encoding: [0x00,0x47,0xe8,0xbe]
|
||||
// GFX1200: s_getpc_b64 s[104:105] ; encoding: [0x00,0x47,0xe8,0xbe]
|
||||
// GFX1250: s_get_pc_i64 s[104:105] ; encoding: [0x00,0x47,0xe8,0xbe]
|
||||
|
||||
s_getpc_b64 exec
|
||||
// GFX12: s_getpc_b64 exec ; encoding: [0x00,0x47,0xfe,0xbe]
|
||||
// GFX1200: s_getpc_b64 exec ; encoding: [0x00,0x47,0xfe,0xbe]
|
||||
// GFX1250: s_get_pc_i64 exec ; encoding: [0x00,0x47,0xfe,0xbe]
|
||||
|
||||
s_getpc_b64 vcc
|
||||
// GFX12: s_getpc_b64 vcc ; encoding: [0x00,0x47,0xea,0xbe]
|
||||
// GFX1200: s_getpc_b64 vcc ; encoding: [0x00,0x47,0xea,0xbe]
|
||||
// GFX1250: s_get_pc_i64 vcc ; encoding: [0x00,0x47,0xea,0xbe]
|
||||
|
||||
s_setpc_b64 s[0:1]
|
||||
// GFX12: s_setpc_b64 s[0:1] ; encoding: [0x00,0x48,0x80,0xbe]
|
||||
// GFX1200: s_setpc_b64 s[0:1] ; encoding: [0x00,0x48,0x80,0xbe]
|
||||
// GFX1250: s_set_pc_i64 s[0:1] ; encoding: [0x00,0x48,0x80,0xbe]
|
||||
|
||||
s_setpc_b64 s[104:105]
|
||||
// GFX12: s_setpc_b64 s[104:105] ; encoding: [0x68,0x48,0x80,0xbe]
|
||||
// GFX1200: s_setpc_b64 s[104:105] ; encoding: [0x68,0x48,0x80,0xbe]
|
||||
// GFX1250: s_set_pc_i64 s[104:105] ; encoding: [0x68,0x48,0x80,0xbe]
|
||||
|
||||
s_setpc_b64 vcc
|
||||
// GFX12: s_setpc_b64 vcc ; encoding: [0x6a,0x48,0x80,0xbe]
|
||||
// GFX1200: s_setpc_b64 vcc ; encoding: [0x6a,0x48,0x80,0xbe]
|
||||
// GFX1250: s_set_pc_i64 vcc ; encoding: [0x6a,0x48,0x80,0xbe]
|
||||
|
||||
s_swappc_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_swappc_b64 s[0:1], s[2:3] ; encoding: [0x02,0x49,0x80,0xbe]
|
||||
// GFX1200: s_swappc_b64 s[0:1], s[2:3] ; encoding: [0x02,0x49,0x80,0xbe]
|
||||
// GFX1250: s_swap_pc_i64 s[0:1], s[2:3] ; encoding: [0x02,0x49,0x80,0xbe]
|
||||
|
||||
s_swappc_b64 s[104:105], s[102:103]
|
||||
// GFX12: s_swappc_b64 s[104:105], s[102:103] ; encoding: [0x66,0x49,0xe8,0xbe]
|
||||
// GFX1200: s_swappc_b64 s[104:105], s[102:103] ; encoding: [0x66,0x49,0xe8,0xbe]
|
||||
// GFX1250: s_swap_pc_i64 s[104:105], s[102:103] ; encoding: [0x66,0x49,0xe8,0xbe]
|
||||
|
||||
s_swappc_b64 s[0:1], s[102:103]
|
||||
// GFX12: s_swappc_b64 s[0:1], s[102:103] ; encoding: [0x66,0x49,0x80,0xbe]
|
||||
// GFX1200: s_swappc_b64 s[0:1], s[102:103] ; encoding: [0x66,0x49,0x80,0xbe]
|
||||
// GFX1250: s_swap_pc_i64 s[0:1], s[102:103] ; encoding: [0x66,0x49,0x80,0xbe]
|
||||
|
||||
s_swappc_b64 s[104:105], s[2:3]
|
||||
// GFX12: s_swappc_b64 s[104:105], s[2:3] ; encoding: [0x02,0x49,0xe8,0xbe]
|
||||
// GFX1200: s_swappc_b64 s[104:105], s[2:3] ; encoding: [0x02,0x49,0xe8,0xbe]
|
||||
// GFX1250: s_swap_pc_i64 s[104:105], s[2:3] ; encoding: [0x02,0x49,0xe8,0xbe]
|
||||
|
||||
s_swappc_b64 vcc, s[2:3]
|
||||
// GFX12: s_swappc_b64 vcc, s[2:3] ; encoding: [0x02,0x49,0xea,0xbe]
|
||||
// GFX1200: s_swappc_b64 vcc, s[2:3] ; encoding: [0x02,0x49,0xea,0xbe]
|
||||
// GFX1250: s_swap_pc_i64 vcc, s[2:3] ; encoding: [0x02,0x49,0xea,0xbe]
|
||||
|
||||
s_swappc_b64 s[0:1], vcc
|
||||
// GFX12: s_swappc_b64 s[0:1], vcc ; encoding: [0x6a,0x49,0x80,0xbe]
|
||||
// GFX1200: s_swappc_b64 s[0:1], vcc ; encoding: [0x6a,0x49,0x80,0xbe]
|
||||
// GFX1250: s_swap_pc_i64 s[0:1], vcc ; encoding: [0x6a,0x49,0x80,0xbe]
|
||||
|
||||
s_rfe_b64 s[0:1]
|
||||
// GFX12: s_rfe_b64 s[0:1] ; encoding: [0x00,0x4a,0x80,0xbe]
|
||||
// GFX1200: s_rfe_b64 s[0:1] ; encoding: [0x00,0x4a,0x80,0xbe]
|
||||
// GFX1250: s_rfe_i64 s[0:1] ; encoding: [0x00,0x4a,0x80,0xbe]
|
||||
|
||||
s_rfe_b64 s[104:105]
|
||||
// GFX12: s_rfe_b64 s[104:105] ; encoding: [0x68,0x4a,0x80,0xbe]
|
||||
// GFX1200: s_rfe_b64 s[104:105] ; encoding: [0x68,0x4a,0x80,0xbe]
|
||||
// GFX1250: s_rfe_i64 s[104:105] ; encoding: [0x68,0x4a,0x80,0xbe]
|
||||
|
||||
s_rfe_b64 vcc
|
||||
// GFX12: s_rfe_b64 vcc ; encoding: [0x6a,0x4a,0x80,0xbe]
|
||||
// GFX1200: s_rfe_b64 vcc ; encoding: [0x6a,0x4a,0x80,0xbe]
|
||||
// GFX1250: s_rfe_i64 vcc ; encoding: [0x6a,0x4a,0x80,0xbe]
|
||||
|
||||
s_and_saveexec_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_and_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x21,0x80,0xbe]
|
||||
@ -2237,7 +2264,8 @@ s_and_saveexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_and_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x21,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_and_saveexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_and_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x21,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_and_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x21,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_and_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x21,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_or_saveexec_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_or_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x23,0x80,0xbe]
|
||||
@ -2276,7 +2304,8 @@ s_or_saveexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_or_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x23,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_or_saveexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_or_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x23,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_or_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x23,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_or_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x23,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_xor_saveexec_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_xor_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x25,0x80,0xbe]
|
||||
@ -2315,7 +2344,8 @@ s_xor_saveexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_xor_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x25,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_xor_saveexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_xor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x25,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_xor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x25,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_xor_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x25,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_andn2_saveexec_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_and_not1_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x31,0x80,0xbe]
|
||||
@ -2354,7 +2384,8 @@ s_andn2_saveexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_and_not1_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x31,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_andn2_saveexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_and_not1_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x31,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_and_not1_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x31,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_and_not1_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x31,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_orn2_saveexec_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_or_not1_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x33,0x80,0xbe]
|
||||
@ -2393,7 +2424,8 @@ s_orn2_saveexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_or_not1_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x33,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_orn2_saveexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_or_not1_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x33,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_or_not1_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x33,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_or_not1_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x33,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_nand_saveexec_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_nand_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x27,0x80,0xbe]
|
||||
@ -2432,7 +2464,8 @@ s_nand_saveexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_nand_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x27,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_nand_saveexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_nand_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x27,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_nand_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x27,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_nand_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x27,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_nor_saveexec_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_nor_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x29,0x80,0xbe]
|
||||
@ -2471,7 +2504,8 @@ s_nor_saveexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_nor_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x29,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_nor_saveexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_nor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x29,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_nor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x29,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_nor_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x29,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_xnor_saveexec_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_xnor_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x2b,0x80,0xbe]
|
||||
@ -2510,7 +2544,8 @@ s_xnor_saveexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_xnor_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x2b,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_xnor_saveexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_xnor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_xnor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_xnor_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x2b,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_quadmask_b32 s0, s1
|
||||
// GFX12: s_quadmask_b32 s0, s1 ; encoding: [0x01,0x1a,0x80,0xbe]
|
||||
@ -2612,7 +2647,8 @@ s_quadmask_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_quadmask_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x1b,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_quadmask_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_quadmask_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_quadmask_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_quadmask_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x1b,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_movrels_b32 s0, s1
|
||||
// GFX12: s_movrels_b32 s0, s1 ; encoding: [0x01,0x40,0x80,0xbe]
|
||||
@ -2756,7 +2792,8 @@ s_movreld_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_movreld_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x43,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_movreld_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_movreld_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x43,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_movreld_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x43,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_movreld_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x43,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_abs_i32 s0, s1
|
||||
// GFX12: s_abs_i32 s0, s1 ; encoding: [0x01,0x15,0x80,0xbe]
|
||||
@ -2855,7 +2892,8 @@ s_andn1_saveexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_and_not0_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x2d,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_andn1_saveexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_and_not0_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_and_not0_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_and_not0_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x2d,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_orn1_saveexec_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_or_not0_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x2f,0x80,0xbe]
|
||||
@ -2894,7 +2932,8 @@ s_orn1_saveexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_or_not0_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x2f,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_orn1_saveexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_or_not0_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2f,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_or_not0_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2f,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_or_not0_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x2f,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_andn1_wrexec_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_and_not0_wrexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x35,0x80,0xbe]
|
||||
@ -2933,7 +2972,8 @@ s_andn1_wrexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_and_not0_wrexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x35,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_andn1_wrexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_and_not0_wrexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x35,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_and_not0_wrexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x35,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_and_not0_wrexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x35,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_andn2_wrexec_b64 s[0:1], s[2:3]
|
||||
// GFX12: s_and_not1_wrexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x37,0x80,0xbe]
|
||||
@ -2972,7 +3012,8 @@ s_andn2_wrexec_b64 s[0:1], 0x3f717273
|
||||
// GFX12: s_and_not1_wrexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x37,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
s_andn2_wrexec_b64 s[0:1], 0xaf123456
|
||||
// GFX12: s_and_not1_wrexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x37,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_and_not1_wrexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x37,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_and_not1_wrexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x37,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_bitreplicate_b64_b32 s[0:1], s2
|
||||
// GFX12: s_bitreplicate_b64_b32 s[0:1], s2 ; encoding: [0x02,0x14,0x80,0xbe]
|
||||
@ -3770,7 +3811,8 @@ s_ctz_i32_b64 exec_hi, src_scc
|
||||
// GFX12: s_ctz_i32_b64 exec_hi, src_scc ; encoding: [0xfd,0x09,0xff,0xbe]
|
||||
|
||||
s_ctz_i32_b64 null, 0xaf123456
|
||||
// GFX12: s_ctz_i32_b64 null, 0xaf123456 ; encoding: [0xff,0x09,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_ctz_i32_b64 null, 0xaf123456 ; encoding: [0xff,0x09,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_ctz_i32_b64 null, lit64(0xaf123456) ; encoding: [0xfe,0x09,0xfc,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_and_not1_saveexec_b64 s[10:11], s[2:3]
|
||||
// GFX12: s_and_not1_saveexec_b64 s[10:11], s[2:3] ; encoding: [0x02,0x31,0x8a,0xbe]
|
||||
@ -3797,7 +3839,8 @@ s_and_not1_saveexec_b64 ttmp[14:15], src_scc
|
||||
// GFX12: s_and_not1_saveexec_b64 ttmp[14:15], src_scc ; encoding: [0xfd,0x31,0xfa,0xbe]
|
||||
|
||||
s_and_not1_saveexec_b64 null, 0xaf123456
|
||||
// GFX12: s_and_not1_saveexec_b64 null, 0xaf123456 ; encoding: [0xff,0x31,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_and_not1_saveexec_b64 null, 0xaf123456 ; encoding: [0xff,0x31,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_and_not1_saveexec_b64 null, lit64(0xaf123456) ; encoding: [0xfe,0x31,0xfc,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_and_not0_saveexec_b32 s5, s1
|
||||
// GFX12: s_and_not0_saveexec_b32 s5, s1 ; encoding: [0x01,0x2c,0x85,0xbe]
|
||||
@ -3857,7 +3900,8 @@ s_and_not0_saveexec_b64 ttmp[14:15], src_scc
|
||||
// GFX12: s_and_not0_saveexec_b64 ttmp[14:15], src_scc ; encoding: [0xfd,0x2d,0xfa,0xbe]
|
||||
|
||||
s_and_not0_saveexec_b64 null, 0xaf123456
|
||||
// GFX12: s_and_not0_saveexec_b64 null, 0xaf123456 ; encoding: [0xff,0x2d,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_and_not0_saveexec_b64 null, 0xaf123456 ; encoding: [0xff,0x2d,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_and_not0_saveexec_b64 null, lit64(0xaf123456) ; encoding: [0xfe,0x2d,0xfc,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_and_not0_wrexec_b32 s5, s1
|
||||
// GFX12: s_and_not0_wrexec_b32 s5, s1 ; encoding: [0x01,0x34,0x85,0xbe]
|
||||
@ -3917,7 +3961,8 @@ s_and_not0_wrexec_b64 ttmp[14:15], src_scc
|
||||
// GFX12: s_and_not0_wrexec_b64 ttmp[14:15], src_scc ; encoding: [0xfd,0x35,0xfa,0xbe]
|
||||
|
||||
s_and_not0_wrexec_b64 null, 0xaf123456
|
||||
// GFX12: s_and_not0_wrexec_b64 null, 0xaf123456 ; encoding: [0xff,0x35,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_and_not0_wrexec_b64 null, 0xaf123456 ; encoding: [0xff,0x35,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_and_not0_wrexec_b64 null, lit64(0xaf123456) ; encoding: [0xfe,0x35,0xfc,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_and_not1_saveexec_b32 s5, s1
|
||||
// GFX12: s_and_not1_saveexec_b32 s5, s1 ; encoding: [0x01,0x30,0x85,0xbe]
|
||||
@ -4010,7 +4055,8 @@ s_and_not1_wrexec_b64 ttmp[14:15], src_scc
|
||||
// GFX12: s_and_not1_wrexec_b64 ttmp[14:15], src_scc ; encoding: [0xfd,0x37,0xfa,0xbe]
|
||||
|
||||
s_and_not1_wrexec_b64 null, 0xaf123456
|
||||
// GFX12: s_and_not1_wrexec_b64 null, 0xaf123456 ; encoding: [0xff,0x37,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_and_not1_wrexec_b64 null, 0xaf123456 ; encoding: [0xff,0x37,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_and_not1_wrexec_b64 null, lit64(0xaf123456) ; encoding: [0xfe,0x37,0xfc,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_cls_i32 s5, s1
|
||||
// GFX12: s_cls_i32 s5, s1 ; encoding: [0x01,0x0c,0x85,0xbe]
|
||||
@ -4079,7 +4125,8 @@ s_cls_i32_i64 exec_hi, src_scc
|
||||
// GFX12: s_cls_i32_i64 exec_hi, src_scc ; encoding: [0xfd,0x0d,0xff,0xbe]
|
||||
|
||||
s_cls_i32_i64 null, 0xaf123456
|
||||
// GFX12: s_cls_i32_i64 null, 0xaf123456 ; encoding: [0xff,0x0d,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_cls_i32_i64 null, 0xaf123456 ; encoding: [0xff,0x0d,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_cls_i32_i64 null, lit64(0xaf123456) ; encoding: [0xfe,0x0d,0xfc,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_clz_i32_u32 s5, s1
|
||||
// GFX12: s_clz_i32_u32 s5, s1 ; encoding: [0x01,0x0a,0x85,0xbe]
|
||||
@ -4148,7 +4195,8 @@ s_clz_i32_u64 exec_hi, src_scc
|
||||
// GFX12: s_clz_i32_u64 exec_hi, src_scc ; encoding: [0xfd,0x0b,0xff,0xbe]
|
||||
|
||||
s_clz_i32_u64 null, 0xaf123456
|
||||
// GFX12: s_clz_i32_u64 null, 0xaf123456 ; encoding: [0xff,0x0b,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_clz_i32_u64 null, 0xaf123456 ; encoding: [0xff,0x0b,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_clz_i32_u64 null, lit64(0xaf123456) ; encoding: [0xfe,0x0b,0xfc,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_or_not0_saveexec_b32 s5, s1
|
||||
// GFX12: s_or_not0_saveexec_b32 s5, s1 ; encoding: [0x01,0x2e,0x85,0xbe]
|
||||
@ -4208,7 +4256,8 @@ s_or_not0_saveexec_b64 ttmp[14:15], src_scc
|
||||
// GFX12: s_or_not0_saveexec_b64 ttmp[14:15], src_scc ; encoding: [0xfd,0x2f,0xfa,0xbe]
|
||||
|
||||
s_or_not0_saveexec_b64 null, 0xaf123456
|
||||
// GFX12: s_or_not0_saveexec_b64 null, 0xaf123456 ; encoding: [0xff,0x2f,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_or_not0_saveexec_b64 null, 0xaf123456 ; encoding: [0xff,0x2f,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_or_not0_saveexec_b64 null, lit64(0xaf123456) ; encoding: [0xfe,0x2f,0xfc,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
s_or_not1_saveexec_b32 s5, s1
|
||||
// GFX12: s_or_not1_saveexec_b32 s5, s1 ; encoding: [0x01,0x32,0x85,0xbe]
|
||||
@ -4268,4 +4317,5 @@ s_or_not1_saveexec_b64 ttmp[14:15], src_scc
|
||||
// GFX12: s_or_not1_saveexec_b64 ttmp[14:15], src_scc ; encoding: [0xfd,0x33,0xfa,0xbe]
|
||||
|
||||
s_or_not1_saveexec_b64 null, 0xaf123456
|
||||
// GFX12: s_or_not1_saveexec_b64 null, 0xaf123456 ; encoding: [0xff,0x33,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1200: s_or_not1_saveexec_b64 null, 0xaf123456 ; encoding: [0xff,0x33,0xfc,0xbe,0x56,0x34,0x12,0xaf]
|
||||
// GFX1250: s_or_not1_saveexec_b64 null, lit64(0xaf123456) ; encoding: [0xfe,0x33,0xfc,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
55
llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_salu_lit64.txt
Normal file
55
llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_salu_lit64.txt
Normal file
@ -0,0 +1,55 @@
|
||||
# RUN: llvm-mc -triple=amdgcn -mcpu=gfx1250 -disassemble -show-encoding < %s | FileCheck -check-prefixes=GFX1250 %s
|
||||
|
||||
# GFX1250: s_mov_b64 s[2:3], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x01,0x82,0xbe,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x01,0x82,0xbe,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_add_nc_u64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0xa9,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0x04,0xfe,0x82,0xa9,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_and_b64 s[2:3], lit64(0x10abcdef12345678), s[4:5] ; encoding: [0xfe,0x04,0x82,0x8b,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x04,0x82,0x8b,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_and_not1_b64 s[2:3], lit64(0x10abcdef12345678), lit64(0x10abcdef12345678) ; encoding: [0xfe,0xfe,0x82,0x91,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfe,0x82,0x91,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_and_not1_b64 s[2:3], lit64(0x10abcdef12345678), s[4:5] ; encoding: [0xfe,0x04,0x82,0x91,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x04,0x82,0x91,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_ashr_i64 s[2:3], lit64(0x10abcdef12345678), s4 ; encoding: [0xfe,0x04,0x82,0x86,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x04,0x82,0x86,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_bfe_i64 s[2:3], lit64(0x80abcdef12345678), 5 ; encoding: [0xfe,0x85,0x82,0x94,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x80]
|
||||
0xfe,0x85,0x82,0x94,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x80
|
||||
|
||||
# GFX1250: s_bfe_u64 s[2:3], lit64(0x10abcdef12345678), 5 ; encoding: [0xfe,0x85,0x02,0x94,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x85,0x02,0x94,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_cselect_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x98,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0x04,0xfe,0x82,0x98,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_lshl_b64 s[2:3], lit64(0x10abcdef12345678), s4 ; encoding: [0xfe,0x04,0x82,0x84,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x04,0x82,0x84,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_lshr_b64 s[2:3], lit64(0x10abcdef12345678), s4 ; encoding: [0xfe,0x04,0x82,0x85,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x04,0x82,0x85,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_mul_u64 s[2:3], lit64(0x10abcdef12345678), s[4:5] ; encoding: [0xfe,0x04,0x82,0xaa,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x04,0x82,0xaa,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_nand_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x8e,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0x04,0xfe,0x82,0x8e,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_nor_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x8f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0x04,0xfe,0x82,0x8f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_or_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x8c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0x04,0xfe,0x82,0x8c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_or_not1_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x92,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0x04,0xfe,0x82,0x92,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_xnor_b64 s[2:3], s[4:5], lit64(0x10abcdef12345678) ; encoding: [0x04,0xfe,0x82,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0x04,0xfe,0x82,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: s_xor_b64 s[2:3], lit64(0x10abcdef12345678), s[4:5] ; encoding: [0xfe,0x04,0x82,0x8d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x04,0x82,0x8d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
232
llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_valu_lit64.txt
Normal file
232
llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_valu_lit64.txt
Normal file
@ -0,0 +1,232 @@
|
||||
# RUN: llvm-mc -triple=amdgcn -mcpu=gfx1250 -disassemble -show-encoding < %s | FileCheck -check-prefixes=GFX1250 %s
|
||||
|
||||
# GFX1250: v_add_f64_e32 v[254:255], lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xfd,0x05,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xfd,0x05,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_ceil_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x30,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x30,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_class_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v255 ; encoding: [0xfe,0xfe,0xff,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfe,0xff,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_eq_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x45,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x45,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_ge_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4d,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x4d,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_gt_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x49,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x49,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_gt_i64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa9,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xa9,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_gt_u64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb9,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xb9,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_le_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x47,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x47,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_le_i64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa7,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xa7,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_le_u64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb7,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xb7,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_lg_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4b,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x4b,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_lt_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x43,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x43,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_lt_i64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa3,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xa3,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_lt_u64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb3,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xb3,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_ne_i64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xab,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xab,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_ne_u64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xbb,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xbb,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_neq_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x5b,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x5b,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_nge_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x53,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x53,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_ngt_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x57,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x57,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_nle_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x59,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x59,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_nlg_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x55,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x55,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_nlt_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x5d,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x5d,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_o_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4f,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x4f,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmp_u_f64_e32 vcc_lo, lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x51,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x51,0x7c,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_class_f64_e32 lit64(0x10abcdef12345678), v255 ; encoding: [0xfe,0xfe,0xff,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfe,0xff,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_eq_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x45,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x45,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_eq_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa5,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xa5,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_eq_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb5,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xb5,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_ge_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4d,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x4d,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_ge_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xad,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xad,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_ge_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xbd,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xbd,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_gt_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x49,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x49,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_gt_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa9,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xa9,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_gt_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb9,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xb9,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_le_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x47,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x47,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_le_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa7,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xa7,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_le_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb7,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xb7,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_lg_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4b,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x4b,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_lt_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x43,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x43,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_lt_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xa3,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xa3,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_lt_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xb3,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xb3,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_ne_i64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xab,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xab,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_ne_u64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xbb,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xbb,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_neq_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x5b,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x5b,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_nge_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x53,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x53,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_ngt_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x57,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x57,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_nle_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x59,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x59,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_nlg_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x55,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x55,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_nlt_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x5d,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x5d,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_o_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x4f,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x4f,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cmpx_u_f64_e32 lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0x51,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0x51,0x7d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cvt_f32_f64_e32 v255, lit64(0x10abcdef12345678) ; encoding: [0xfe,0x1e,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x1e,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cvt_i32_f64_e32 v255, lit64(0x10abcdef12345678) ; encoding: [0xfe,0x06,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x06,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_cvt_u32_f64_e32 v255, lit64(0x10abcdef12345678) ; encoding: [0xfe,0x2a,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x2a,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_floor_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x34,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x34,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_fract_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x7c,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x7c,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_frexp_exp_i32_f64_e32 v255, lit64(0x10abcdef12345678) ; encoding: [0xfe,0x78,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x78,0xfe,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_frexp_mant_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x7a,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x7a,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_max_num_f64_e32 v[254:255], lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xfd,0x1d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xfd,0x1d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_min_num_f64_e32 v[254:255], lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xfd,0x1b,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xfd,0x1b,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_mul_f64_e32 v[254:255], lit64(0x10abcdef12345678), v[254:255] ; encoding: [0xfe,0xfc,0xfd,0x0d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0xfc,0xfd,0x0d,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_rcp_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x5e,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x5e,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_rndne_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x32,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x32,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_rsq_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x62,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x62,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_sqrt_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x68,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x68,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_trunc_f64_e32 v[254:255], lit64(0x10abcdef12345678) ; encoding: [0xfe,0x2e,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10]
|
||||
0xfe,0x2e,0xfc,0x7f,0x78,0x56,0x34,0x12,0xef,0xcd,0xab,0x10
|
||||
|
||||
# GFX1250: v_ceil_f64_e32 v[254:255], lit64(0x4063233333333333) ; encoding: [0xfe,0x30,0xfc,0x7f,0x33,0x33,0x33,0x33,0x33,0x23,0x63,0x40]
|
||||
0xfe,0x30,0xfc,0x7f,0x33,0x33,0x33,0x33,0x33,0x23,0x63,0x40
|
||||
|
||||
# GFX1250: v_ceil_f64_e32 v[254:255], lit64(0x448969368974c05b) ; encoding: [0xfe,0x30,0xfc,0x7f,0x5b,0xc0,0x74,0x89,0x36,0x69,0x89,0x44]
|
||||
0xfe,0x30,0xfc,0x7f,0x5b,0xc0,0x74,0x89,0x36,0x69,0x89,0x44
|
||||
|
||||
# GFX1250: v_ceil_f64_e32 v[254:255], 0x40632000 ; encoding: [0xff,0x30,0xfc,0x7f,0x00,0x20,0x63,0x40]
|
||||
0xff,0x30,0xfc,0x7f,0x00,0x20,0x63,0x40
|
||||
|
||||
# GFX1250: v_mov_b64_e32 v[0:1], 0x12345678 ; encoding: [0xff,0x3a,0x00,0x7e,0x78,0x56,0x34,0x12]
|
||||
0xff,0x3a,0x00,0x7e,0x78,0x56,0x34,0x12
|
||||
|
||||
# GFX1250: v_ceil_f64_e32 v[254:255], 0.15915494309189532 ; encoding: [0xf8,0x30,0xfc,0x7f]
|
||||
0xf8,0x30,0xfc,0x7f
|
||||
|
||||
# GFX1250: v_ceil_f64_e32 v[254:255], -4.0 ; encoding: [0xf7,0x30,0xfc,0x7f]
|
||||
0xf7,0x30,0xfc,0x7f
|
||||
|
||||
# GFX1250: v_ceil_f64_e32 v[254:255], 2.0 ; encoding: [0xf4,0x30,0xfc,0x7f]
|
||||
0xf4,0x30,0xfc,0x7f
|
||||
|
||||
# GFX1250: v_ceil_f64_e32 v[254:255], 0 ; encoding: [0x80,0x30,0xfc,0x7f]
|
||||
0x80,0x30,0xfc,0x7f
|
||||
|
||||
# GFX1250: v_ceil_f64_e32 v[254:255], lit64(0x7b) ; encoding: [0xfe,0x30,0xfc,0x7f,0x7b,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
|
||||
0xfe,0x30,0xfc,0x7f,0x7b,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
|
||||
# GFX1250: v_ceil_f64_e32 v[254:255], lit64(0x109a) ; encoding: [0xfe,0x30,0xfc,0x7f,0x9a,0x10,0x00,0x00,0x00,0x00,0x00,0x00]
|
||||
0xfe,0x30,0xfc,0x7f,0x9a,0x10,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
@ -849,7 +849,8 @@
|
||||
# GFX12: s_and_not0_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x2d,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x2d,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_and_not0_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_and_not0_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_and_not0_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x2d,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x2d,0x80,0xbe
|
||||
# GFX12: s_and_not0_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x2d,0x80,0xbe]
|
||||
@ -939,7 +940,8 @@
|
||||
# GFX12: s_and_not0_wrexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x35,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x35,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_and_not0_wrexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x35,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_and_not0_wrexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x35,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_and_not0_wrexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x35,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x35,0x80,0xbe
|
||||
# GFX12: s_and_not0_wrexec_b64 s[0:1], -1 ; encoding: [0xc1,0x35,0x80,0xbe]
|
||||
@ -1029,7 +1031,8 @@
|
||||
# GFX12: s_and_not1_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x31,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x31,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_and_not1_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x31,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_and_not1_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x31,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_and_not1_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x31,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x31,0x80,0xbe
|
||||
# GFX12: s_and_not1_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x31,0x80,0xbe]
|
||||
@ -1119,7 +1122,8 @@
|
||||
# GFX12: s_and_not1_wrexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x37,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x37,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_and_not1_wrexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x37,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_and_not1_wrexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x37,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_and_not1_wrexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x37,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x37,0x80,0xbe
|
||||
# GFX12: s_and_not1_wrexec_b64 s[0:1], -1 ; encoding: [0xc1,0x37,0x80,0xbe]
|
||||
@ -1209,7 +1213,8 @@
|
||||
# GFX12: s_and_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x21,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x21,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_and_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x21,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_and_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x21,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_and_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x21,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x21,0x80,0xbe
|
||||
# GFX12: s_and_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x21,0x80,0xbe]
|
||||
@ -1317,7 +1322,8 @@
|
||||
# GFX12: s_bcnt0_i32_b64 s0, 0x3f717273 ; encoding: [0xff,0x17,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x17,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_bcnt0_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x17,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_bcnt0_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x17,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_bcnt0_i32_b64 s0, lit64(0xaf123456) ; encoding: [0xfe,0x17,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x17,0x80,0xbe
|
||||
# GFX12: s_bcnt0_i32_b64 s0, -1 ; encoding: [0xc1,0x17,0x80,0xbe]
|
||||
@ -1428,7 +1434,8 @@
|
||||
# GFX12: s_bcnt1_i32_b64 s0, 0x3f717273 ; encoding: [0xff,0x19,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x19,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_bcnt1_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x19,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_bcnt1_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x19,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_bcnt1_i32_b64 s0, lit64(0xaf123456) ; encoding: [0xfe,0x19,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x19,0x80,0xbe
|
||||
# GFX12: s_bcnt1_i32_b64 s0, -1 ; encoding: [0xc1,0x19,0x80,0xbe]
|
||||
@ -1806,7 +1813,8 @@
|
||||
# GFX12: s_brev_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x05,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x05,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_brev_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x05,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_brev_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x05,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_brev_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x05,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x05,0x80,0xbe
|
||||
# GFX12: s_brev_b64 s[0:1], -1 ; encoding: [0xc1,0x05,0x80,0xbe]
|
||||
@ -1860,7 +1868,8 @@
|
||||
# GFX12: s_cls_i32_i64 s0, 0x3f717273 ; encoding: [0xff,0x0d,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x0d,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_cls_i32_i64 s0, 0xaf123456 ; encoding: [0xff,0x0d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_cls_i32_i64 s0, 0xaf123456 ; encoding: [0xff,0x0d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_cls_i32_i64 s0, lit64(0xaf123456) ; encoding: [0xfe,0x0d,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x0d,0x80,0xbe
|
||||
# GFX12: s_cls_i32_i64 s0, -1 ; encoding: [0xc1,0x0d,0x80,0xbe]
|
||||
@ -2025,7 +2034,8 @@
|
||||
# GFX12: s_clz_i32_u64 s0, 0x3f717273 ; encoding: [0xff,0x0b,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x0b,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_clz_i32_u64 s0, 0xaf123456 ; encoding: [0xff,0x0b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_clz_i32_u64 s0, 0xaf123456 ; encoding: [0xff,0x0b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_clz_i32_u64 s0, lit64(0xaf123456) ; encoding: [0xfe,0x0b,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x0b,0x80,0xbe
|
||||
# GFX12: s_clz_i32_u64 s0, -1 ; encoding: [0xc1,0x0b,0x80,0xbe]
|
||||
@ -2130,7 +2140,8 @@
|
||||
# GFX12: s_cmov_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x03,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x03,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_cmov_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x03,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_cmov_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x03,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_cmov_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x03,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x03,0x80,0xbe
|
||||
# GFX12: s_cmov_b64 s[0:1], -1 ; encoding: [0xc1,0x03,0x80,0xbe]
|
||||
@ -2238,7 +2249,8 @@
|
||||
# GFX12: s_ctz_i32_b64 s0, 0x3f717273 ; encoding: [0xff,0x09,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x09,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_ctz_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x09,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_ctz_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x09,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_ctz_i32_b64 s0, lit64(0xaf123456) ; encoding: [0xfe,0x09,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x09,0x80,0xbe
|
||||
# GFX12: s_ctz_i32_b64 s0, -1 ; encoding: [0xc1,0x09,0x80,0xbe]
|
||||
@ -2365,7 +2377,8 @@
|
||||
# GFX12: s_mov_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x01,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x01,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_mov_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x01,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_mov_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x01,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_mov_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x01,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x01,0x80,0xbe
|
||||
# GFX12: s_mov_b64 s[0:1], -1 ; encoding: [0xc1,0x01,0x80,0xbe]
|
||||
@ -2461,7 +2474,8 @@
|
||||
# GFX12: s_movreld_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x43,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x43,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_movreld_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x43,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_movreld_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x43,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_movreld_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x43,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x43,0x80,0xbe
|
||||
# GFX12: s_movreld_b64 s[0:1], -1 ; encoding: [0xc1,0x43,0x80,0xbe]
|
||||
@ -2629,7 +2643,8 @@
|
||||
# GFX12: s_nand_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x27,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x27,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_nand_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x27,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_nand_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x27,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_nand_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x27,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x27,0x80,0xbe
|
||||
# GFX12: s_nand_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x27,0x80,0xbe]
|
||||
@ -2719,7 +2734,8 @@
|
||||
# GFX12: s_nor_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x29,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x29,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_nor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x29,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_nor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x29,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_nor_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x29,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x29,0x80,0xbe
|
||||
# GFX12: s_nor_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x29,0x80,0xbe]
|
||||
@ -2821,7 +2837,8 @@
|
||||
# GFX12: s_not_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x1f,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x1f,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_not_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1f,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_not_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1f,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_not_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x1f,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x1f,0x80,0xbe
|
||||
# GFX12: s_not_b64 s[0:1], -1 ; encoding: [0xc1,0x1f,0x80,0xbe]
|
||||
@ -2911,7 +2928,8 @@
|
||||
# GFX12: s_or_not0_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x2f,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x2f,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_or_not0_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2f,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_or_not0_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2f,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_or_not0_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x2f,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x2f,0x80,0xbe
|
||||
# GFX12: s_or_not0_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x2f,0x80,0xbe]
|
||||
@ -3001,7 +3019,8 @@
|
||||
# GFX12: s_or_not1_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x33,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x33,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_or_not1_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x33,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_or_not1_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x33,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_or_not1_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x33,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x33,0x80,0xbe
|
||||
# GFX12: s_or_not1_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x33,0x80,0xbe]
|
||||
@ -3091,7 +3110,8 @@
|
||||
# GFX12: s_or_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x23,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x23,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_or_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x23,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_or_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x23,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_or_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x23,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x23,0x80,0xbe
|
||||
# GFX12: s_or_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x23,0x80,0xbe]
|
||||
@ -3193,7 +3213,8 @@
|
||||
# GFX12: s_quadmask_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x1b,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x1b,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_quadmask_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_quadmask_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_quadmask_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x1b,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x1b,0x80,0xbe
|
||||
# GFX12: s_quadmask_b64 s[0:1], -1 ; encoding: [0xc1,0x1b,0x80,0xbe]
|
||||
@ -3509,7 +3530,8 @@
|
||||
# GFX12: s_wqm_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x1d,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x1d,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_wqm_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_wqm_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1d,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_wqm_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x1d,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x1d,0x80,0xbe
|
||||
# GFX12: s_wqm_b64 s[0:1], -1 ; encoding: [0xc1,0x1d,0x80,0xbe]
|
||||
@ -3599,7 +3621,8 @@
|
||||
# GFX12: s_xnor_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x2b,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x2b,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_xnor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_xnor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2b,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_xnor_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x2b,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x2b,0x80,0xbe
|
||||
# GFX12: s_xnor_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x2b,0x80,0xbe]
|
||||
@ -3689,7 +3712,8 @@
|
||||
# GFX12: s_xor_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x25,0x80,0xbe,0x73,0x72,0x71,0x3f]
|
||||
|
||||
0xff,0x25,0x80,0xbe,0x56,0x34,0x12,0xaf
|
||||
# GFX12: s_xor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x25,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1200: s_xor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x25,0x80,0xbe,0x56,0x34,0x12,0xaf]
|
||||
# GFX1250: s_xor_saveexec_b64 s[0:1], lit64(0xaf123456) ; encoding: [0xfe,0x25,0x80,0xbe,0x56,0x34,0x12,0xaf,0x00,0x00,0x00,0x00]
|
||||
|
||||
0xc1,0x25,0x80,0xbe
|
||||
# GFX12: s_xor_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x25,0x80,0xbe]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user