diff --git a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp index 308ab8e3b82c4..f548ed264019d 100644 --- a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp +++ b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp @@ -663,6 +663,8 @@ DecodeStatus AMDGPUDisassembler::getInstruction(MCInst &MI, uint64_t &Size, return MCDisassembler::Fail; } while (false); + DecodeStatus Status = MCDisassembler::Success; + if (MCII->get(MI.getOpcode()).TSFlags & SIInstrFlags::DPP) { if (isMacDPP(MI)) convertMacDPPInst(MI); @@ -801,8 +803,18 @@ DecodeStatus AMDGPUDisassembler::getInstruction(MCInst &MI, uint64_t &Size, if (ImmLitIdx != -1 && !IsSOPK) convertFMAanyK(MI, ImmLitIdx); + // Some VOPC instructions, e.g., v_cmpx_f_f64, use VOP3 encoding and + // have EXEC as implicit destination. Issue a warning if encoding for + // vdst is not EXEC. + if ((MCII->get(MI.getOpcode()).TSFlags & SIInstrFlags::VOP3) && + MCII->get(MI.getOpcode()).hasImplicitDefOfPhysReg(AMDGPU::EXEC)) { + auto ExecEncoding = MRI.getEncodingValue(AMDGPU::EXEC_LO); + if (Bytes_[0] != ExecEncoding) + Status = MCDisassembler::SoftFail; + } + Size = MaxInstBytesNum - Bytes.size(); - return MCDisassembler::Success; + return Status; } void AMDGPUDisassembler::convertEXPInst(MCInst &MI) const { diff --git a/llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx_warn.txt b/llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx_warn.txt new file mode 100644 index 0000000000000..9907f9e055d5d --- /dev/null +++ b/llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx_warn.txt @@ -0,0 +1,403 @@ +# RUN: llvm-mc -triple=amdgcn -mcpu=gfx1010 -disassemble -show-encoding < %s 2>&1 | FileCheck -check-prefixes=GFX10 %s + +### class +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_class_f16_e64 v1, v2 ; encoding: [0x7e,0x00,0x9f,0xd4,0x01,0x05,0x02,0x00] +0x00,0x00,0x9f,0xd4,0x01,0x05,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_class_f32_e64 v1, v2 ; encoding: [0x7e,0x00,0x98,0xd4,0x01,0x05,0x02,0x00] +0x01,0x00,0x98,0xd4,0x01,0x05,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_class_f64_e64 s[4:5], v2 ; encoding: [0x7e,0x00,0xb8,0xd4,0x04,0x04,0x02,0x00] +0x02,0x00,0xb8,0xd4,0x04,0x04,0x02,0x00 + +### eq +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_f16_e64 0.5, v2 ; encoding: [0x7e,0x00,0xda,0xd4,0xf0,0x04,0x02,0x00] +0x03,0x00,0xda,0xd4,0xf0,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x12,0xd4,0xf7,0x04,0x02,0x00] +0x04,0x00,0x12,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_f64_e64 v[1:2], -4.0 ; encoding: [0x7e,0x00,0x32,0xd4,0x01,0xef,0x01,0x00] +0x05,0x00,0x32,0xd4,0x01,0xef,0x01,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0x9a,0xd4,0xc1,0x04,0x02,0x00] +0x06,0x00,0x9a,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0x92,0xd4,0xc1,0x04,0x02,0x00] +0x07,0x00,0x92,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xb2,0xd4,0xc1,0x04,0x02,0x00] +0x08,0x00,0xb2,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_u16_e64 s1, v2 ; encoding: [0x7e,0x00,0xba,0xd4,0x01,0x04,0x02,0x00] +0x09,0x00,0xba,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xd2,0xd4,0x01,0x04,0x02,0x00] +0x0a,0x00,0xd2,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xf2,0xd4,0x02,0x04,0x02,0x00] +0x0b,0x00,0xf2,0xd4,0x02,0x04,0x02,0x00 + +### f_f +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0xd8,0xd4,0xf7,0x04,0x02,0x00] +0x0c,0x00,0xd8,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x10,0xd4,0xf7,0x04,0x02,0x00] +0x0d,0x00,0x10,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0x30,0xd4,0xf7,0x04,0x02,0x00] +0x0e,0x00,0x30,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0x90,0xd4,0xc1,0x04,0x02,0x00] +0x0f,0x00,0x90,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xb0,0xd4,0xc1,0x04,0x02,0x00] +0x10,0x00,0xb0,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xd0,0xd4,0x01,0x04,0x02,0x00] +0x11,0x00,0xd0,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xf0,0xd4,0x02,0x04,0x02,0x00] +0x12,0x00,0xf0,0xd4,0x02,0x04,0x02,0x00 + +### ge +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0xde,0xd4,0xf7,0x04,0x02,0x00] +0x13,0x00,0xde,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x16,0xd4,0xf7,0x04,0x02,0x00] +0x14,0x00,0x16,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0x36,0xd4,0xf7,0x04,0x02,0x00] +0x15,0x00,0x36,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0x9e,0xd4,0xc1,0x04,0x02,0x00] +0x16,0x00,0x9e,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0x96,0xd4,0xc1,0x04,0x02,0x00] +0x17,0x00,0x96,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xb6,0xd4,0xc1,0x04,0x02,0x00] +0x18,0x00,0xb6,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_u16_e64 -1, v2 ; encoding: [0x7e,0x00,0xbe,0xd4,0xc1,0x04,0x02,0x00] +0x19,0x00,0xbe,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_u16_e64 v1, m0 ; encoding: [0x7e,0x00,0xbe,0xd4,0x01,0xf9,0x00,0x00] +0x1a,0x00,0xbe,0xd4,0x01,0xf9,0x00,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_u32_e64 v1, m0 ; encoding: [0x7e,0x00,0xd6,0xd4,0x01,0xf9,0x00,0x00] +0x1b,0x00,0xd6,0xd4,0x01,0xf9,0x00,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_u64_e64 exec, v[2:3] ; encoding: [0x7e,0x00,0xf6,0xd4,0x7e,0x04,0x02,0x00] +0x1c,0x00,0xf6,0xd4,0x7e,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0xdc,0xd4,0xf7,0x04,0x02,0x00] +0x1d,0x00,0xdc,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x14,0xd4,0xf7,0x04,0x02,0x00] +0x1e,0x00,0x14,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0x34,0xd4,0xf7,0x04,0x02,0x00] +0x1f,0x00,0x34,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0x9c,0xd4,0xc1,0x04,0x02,0x00] +0x20,0x00,0x9c,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0x94,0xd4,0xc1,0x04,0x02,0x00] +0x21,0x00,0x94,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xb4,0xd4,0xc1,0x04,0x02,0x00] +0x22,0x00,0xb4,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_u16_e64 s1, v2 ; encoding: [0x7e,0x00,0xbc,0xd4,0x01,0x04,0x02,0x00] +0x23,0x00,0xbc,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xd4,0xd4,0x01,0x04,0x02,0x00] +0x24,0x00,0xd4,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xf4,0xd4,0x02,0x04,0x02,0x00] +0x25,0x00,0xf4,0xd4,0x02,0x04,0x02,0x00 + +### le +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0xdb,0xd4,0xf7,0x04,0x02,0x00] +0x26,0x00,0xdb,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x13,0xd4,0xf7,0x04,0x02,0x00] +0x27,0x00,0x13,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0x33,0xd4,0xf7,0x04,0x02,0x00] +0x28,0x00,0x33,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0x9b,0xd4,0xc1,0x04,0x02,0x00] +0x29,0x00,0x9b,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0x93,0xd4,0xc1,0x04,0x02,0x00] +0x2a,0x00,0x93,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xb3,0xd4,0xc1,0x04,0x02,0x00] +0x2b,0x00,0xb3,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_u16_e64 s1, v2 ; encoding: [0x7e,0x00,0xbb,0xd4,0x01,0x04,0x02,0x00] +0x2c,0x00,0xbb,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xd3,0xd4,0x01,0x04,0x02,0x00] +0x2d,0x00,0xd3,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xf3,0xd4,0x02,0x04,0x02,0x00] +0x2e,0x00,0xf3,0xd4,0x02,0x04,0x02,0x00 + +### lg +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lg_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0xdd,0xd4,0xf7,0x04,0x02,0x00] +0x2f,0x00,0xdd,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lg_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x15,0xd4,0xf7,0x04,0x02,0x00] +0x30,0x00,0x15,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lg_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0x35,0xd4,0xf7,0x04,0x02,0x00] +0x31,0x00,0x35,0xd4,0xf7,0x04,0x02,0x00 + +### lt +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0xd9,0xd4,0xf7,0x04,0x02,0x00] +0x32,0x00,0xd9,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x11,0xd4,0xf7,0x04,0x02,0x00] +0x33,0x00,0x11,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0x31,0xd4,0xf7,0x04,0x02,0x00] +0x34,0x00,0x31,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0x99,0xd4,0xc1,0x04,0x02,0x00] +0x35,0x00,0x99,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0x91,0xd4,0xc1,0x04,0x02,0x00] +0x36,0x00,0x91,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xb1,0xd4,0xc1,0x04,0x02,0x00] +0x37,0x00,0xb1,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_u16_e64 s1, v2 ; encoding: [0x7e,0x00,0xb9,0xd4,0x01,0x04,0x02,0x00] +0x38,0x00,0xb9,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xd1,0xd4,0x01,0x04,0x02,0x00] +0x39,0x00,0xd1,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xf1,0xd4,0x02,0x04,0x02,0x00] +0x3a,0x00,0xf1,0xd4,0x02,0x04,0x02,0x00 + +### ne +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0x9d,0xd4,0xc1,0x04,0x02,0x00] +0x3b,0x00,0x9d,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0x95,0xd4,0xc1,0x04,0x02,0x00] +0x3c,0x00,0x95,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xb5,0xd4,0xc1,0x04,0x02,0x00] +0x3d,0x00,0xb5,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_u16_e64 s1, v2 ; encoding: [0x7e,0x00,0xbd,0xd4,0x01,0x04,0x02,0x00] +0x3e,0x00,0xbd,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xd5,0xd4,0x01,0x04,0x02,0x00] +0x3f,0x00,0xd5,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xf5,0xd4,0x02,0x04,0x02,0x00] +0x40,0x00,0xf5,0xd4,0x02,0x04,0x02,0x00 + +### neq +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_neq_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0xfd,0xd4,0xf7,0x04,0x02,0x00] +0x41,0x00,0xfd,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_neq_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x1d,0xd4,0xf7,0x04,0x02,0x00] +0x42,0x00,0x1d,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_neq_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0x3d,0xd4,0xf7,0x04,0x02,0x00] +0x43,0x00,0x3d,0xd4,0xf7,0x04,0x02,0x00 + +### nge +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nge_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0xf9,0xd4,0xf7,0x04,0x02,0x00] +0x44,0x00,0xf9,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nge_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x19,0xd4,0xf7,0x04,0x02,0x00] +0x45,0x00,0x19,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nge_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0x39,0xd4,0xf7,0x04,0x02,0x00] +0x46,0x00,0x39,0xd4,0xf7,0x04,0x02,0x00 + +### ngt +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ngt_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0xfb,0xd4,0xf7,0x04,0x02,0x00] +0x47,0x00,0xfb,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ngt_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x1b,0xd4,0xf7,0x04,0x02,0x00] +0x48,0x00,0x1b,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ngt_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0x3b,0xd4,0xf7,0x04,0x02,0x00] +0x49,0x00,0x3b,0xd4,0xf7,0x04,0x02,0x00 + +### nle +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nle_f16_e64 -1, v2 ; encoding: [0x7e,0x00,0xfc,0xd4,0xc1,0x04,0x02,0x00] +0x4a,0x00,0xfc,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nle_f32_e64 -1, v2 ; encoding: [0x7e,0x00,0x1c,0xd4,0xc1,0x04,0x02,0x00] +0x4b,0x00,0x1c,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nle_f64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0x3c,0xd4,0xc1,0x04,0x02,0x00] +0x4c,0x00,0x3c,0xd4,0xc1,0x04,0x02,0x00 + +### nlg +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlg_f16_e64 -1, v2 ; encoding: [0x7e,0x00,0xfa,0xd4,0xc1,0x04,0x02,0x00] +0x4d,0x00,0xfa,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlg_f32_e64 -1, v2 ; encoding: [0x7e,0x00,0x1a,0xd4,0xc1,0x04,0x02,0x00] +0x4e,0x00,0x1a,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlg_f64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0x3a,0xd4,0xc1,0x04,0x02,0x00] +0x4f,0x00,0x3a,0xd4,0xc1,0x04,0x02,0x00 + +### nlt +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlt_f16_e64 -1, v2 ; encoding: [0x7e,0x00,0xfe,0xd4,0xc1,0x04,0x02,0x00] +0x50,0x00,0xfe,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlt_f32_e64 -1, v2 ; encoding: [0x7e,0x00,0x1e,0xd4,0xc1,0x04,0x02,0x00] +0x51,0x00,0x1e,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlt_f64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0x3e,0xd4,0xc1,0x04,0x02,0x00] +0x52,0x00,0x3e,0xd4,0xc1,0x04,0x02,0x00 + +### o_f +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_o_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0xdf,0xd4,0xf7,0x04,0x02,0x00] +0x53,0x00,0xdf,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_o_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x17,0xd4,0xf7,0x04,0x02,0x00] +0x54,0x00,0x17,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_o_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0x37,0xd4,0xf7,0x04,0x02,0x00] +0x55,0x00,0x37,0xd4,0xf7,0x04,0x02,0x00 + +### t_i +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_t_i32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x97,0xd4,0xf7,0x04,0x02,0x00] +0x56,0x00,0x97,0xd4,0xf7,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_t_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xb7,0xd4,0xc1,0x04,0x02,0x00] +0x57,0x00,0xb7,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_t_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xd7,0xd4,0x01,0x04,0x02,0x00] +0x58,0x00,0xd7,0xd4,0x01,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_t_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xf7,0xd4,0x02,0x04,0x02,0x00] +0x59,0x00,0xf7,0xd4,0x02,0x04,0x02,0x00 + +### tru +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_tru_f16_e64 -1, v2 ; encoding: [0x7e,0x00,0xff,0xd4,0xc1,0x04,0x02,0x00] +0x5a,0x00,0xff,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_tru_f32_e64 -1, v2 ; encoding: [0x7e,0x00,0x1f,0xd4,0xc1,0x04,0x02,0x00] +0x5b,0x00,0x1f,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_tru_f64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0x3f,0xd4,0xc1,0x04,0x02,0x00] +0x5c,0x00,0x3f,0xd4,0xc1,0x04,0x02,0x00 + +### u_f +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_u_f16_e64 -1, v2 ; encoding: [0x7e,0x00,0xf8,0xd4,0xc1,0x04,0x02,0x00] +0x5d,0x00,0xf8,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_u_f32_e64 -1, v2 ; encoding: [0x7e,0x00,0x18,0xd4,0xc1,0x04,0x02,0x00] +0x5e,0x00,0x18,0xd4,0xc1,0x04,0x02,0x00 + +# GFX10: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_u_f64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0x38,0xd4,0xc1,0x04,0x02,0x00] +0x5f,0x00,0x38,0xd4,0xc1,0x04,0x02,0x00 diff --git a/llvm/test/MC/Disassembler/AMDGPU/gfx11_vop3cx_warn.txt b/llvm/test/MC/Disassembler/AMDGPU/gfx11_vop3cx_warn.txt new file mode 100644 index 0000000000000..d8988afc23613 --- /dev/null +++ b/llvm/test/MC/Disassembler/AMDGPU/gfx11_vop3cx_warn.txt @@ -0,0 +1,385 @@ +# RUN: llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+real-true16 -disassemble -show-encoding < %s 2>&1 | FileCheck -check-prefixes=GFX11 %s + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_class_f16_e64 v1, v2 ; encoding: [0x7e,0x00,0xfd,0xd4,0x01,0x05,0x02,0x00] +0x00,0x00,0xfd,0xd4,0x01,0x05,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_class_f32_e64 v1, v2 ; encoding: [0x7e,0x00,0xfe,0xd4,0x01,0x05,0x02,0x00] +0x01,0x00,0xfe,0xd4,0x01,0x05,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_class_f64_e64 s[4:5], v2 ; encoding: [0x7e,0x00,0xff,0xd4,0x04,0x04,0x02,0x00] +0x02,0x00,0xff,0xd4,0x04,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_f16_e64 0.5, v2 ; encoding: [0x7e,0x00,0x82,0xd4,0xf0,0x04,0x02,0x00] +0x03,0x00,0x82,0xd4,0xf0,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x92,0xd4,0xf7,0x04,0x02,0x00] +0x04,0x00,0x92,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_f64_e64 v[1:2], -4.0 ; encoding: [0x7e,0x00,0xa2,0xd4,0x01,0xef,0x01,0x00] +0x05,0x00,0xa2,0xd4,0x01,0xef,0x01,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0xb2,0xd4,0xc1,0x04,0x02,0x00] +0x06,0x00,0xb2,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0xc2,0xd4,0xc1,0x04,0x02,0x00] +0x07,0x00,0xc2,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xd2,0xd4,0xc1,0x04,0x02,0x00] +0x08,0x00,0xd2,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_u16_e64 s1, v2 ; encoding: [0x7e,0x00,0xba,0xd4,0x01,0x04,0x02,0x00] +0x09,0x00,0xba,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xca,0xd4,0x01,0x04,0x02,0x00] +0x0a,0x00,0xca,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xda,0xd4,0x02,0x04,0x02,0x00] +0x0b,0x00,0xda,0xd4,0x02,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x80,0xd4,0xf7,0x04,0x02,0x00] +0x0c,0x00,0x80,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x90,0xd4,0xf7,0x04,0x02,0x00] +0x0d,0x00,0x90,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0xa0,0xd4,0xf7,0x04,0x02,0x00] +0x0e,0x00,0xa0,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0xc0,0xd4,0xc1,0x04,0x02,0x00] +0x0f,0x00,0xc0,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xd0,0xd4,0xc1,0x04,0x02,0x00] +0x10,0x00,0xd0,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xc8,0xd4,0x01,0x04,0x02,0x00] +0x11,0x00,0xc8,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_f_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xd8,0xd4,0x02,0x04,0x02,0x00] +0x12,0x00,0xd8,0xd4,0x02,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x86,0xd4,0xf7,0x04,0x02,0x00] +0x13,0x00,0x86,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x96,0xd4,0xf7,0x04,0x02,0x00] +0x14,0x00,0x96,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0xa6,0xd4,0xf7,0x04,0x02,0x00] +0x15,0x00,0xa6,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0xb6,0xd4,0xc1,0x04,0x02,0x00] +0x16,0x00,0xb6,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0xc6,0xd4,0xc1,0x04,0x02,0x00] +0x17,0x00,0xc6,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xd6,0xd4,0xc1,0x04,0x02,0x00] +0x18,0x00,0xd6,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_u16_e64 -1, v2 ; encoding: [0x7e,0x00,0xbe,0xd4,0xc1,0x04,0x02,0x00] +0x19,0x00,0xbe,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_u16_e64 v1, m0 ; encoding: [0x7e,0x00,0xbe,0xd4,0x01,0xfb,0x00,0x00] +0x1a,0x00,0xbe,0xd4,0x01,0xfb,0x00,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_u32_e64 v1, m0 ; encoding: [0x7e,0x00,0xce,0xd4,0x01,0xfb,0x00,0x00] +0x1b,0x00,0xce,0xd4,0x01,0xfb,0x00,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_u64_e64 exec, v[2:3] ; encoding: [0x7e,0x00,0xde,0xd4,0x7e,0x04,0x02,0x00] +0x1c,0x00,0xde,0xd4,0x7e,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x84,0xd4,0xf7,0x04,0x02,0x00] +0x1d,0x00,0x84,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x94,0xd4,0xf7,0x04,0x02,0x00] +0x1e,0x00,0x94,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0xa4,0xd4,0xf7,0x04,0x02,0x00] +0x1f,0x00,0xa4,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0xb4,0xd4,0xc1,0x04,0x02,0x00] +0x20,0x00,0xb4,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0xc4,0xd4,0xc1,0x04,0x02,0x00] +0x21,0x00,0xc4,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xd4,0xd4,0xc1,0x04,0x02,0x00] +0x22,0x00,0xd4,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_u16_e64 s1, v2 ; encoding: [0x7e,0x00,0xbc,0xd4,0x01,0x04,0x02,0x00] +0x23,0x00,0xbc,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xcc,0xd4,0x01,0x04,0x02,0x00] +0x24,0x00,0xcc,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xdc,0xd4,0x02,0x04,0x02,0x00] +0x25,0x00,0xdc,0xd4,0x02,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x83,0xd4,0xf7,0x04,0x02,0x00] +0x26,0x00,0x83,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x93,0xd4,0xf7,0x04,0x02,0x00] +0x27,0x00,0x93,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0xa3,0xd4,0xf7,0x04,0x02,0x00] +0x28,0x00,0xa3,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0xb3,0xd4,0xc1,0x04,0x02,0x00] +0x29,0x00,0xb3,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0xc3,0xd4,0xc1,0x04,0x02,0x00] +0x2a,0x00,0xc3,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xd3,0xd4,0xc1,0x04,0x02,0x00] +0x2b,0x00,0xd3,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_u16_e64 s1, v2 ; encoding: [0x7e,0x00,0xbb,0xd4,0x01,0x04,0x02,0x00] +0x2c,0x00,0xbb,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xcb,0xd4,0x01,0x04,0x02,0x00] +0x2d,0x00,0xcb,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xdb,0xd4,0x02,0x04,0x02,0x00] +0x2e,0x00,0xdb,0xd4,0x02,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lg_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x85,0xd4,0xf7,0x04,0x02,0x00] +0x2f,0x00,0x85,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lg_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x95,0xd4,0xf7,0x04,0x02,0x00] +0x30,0x00,0x95,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lg_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0xa5,0xd4,0xf7,0x04,0x02,0x00] +0x31,0x00,0xa5,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x81,0xd4,0xf7,0x04,0x02,0x00] +0x32,0x00,0x81,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x91,0xd4,0xf7,0x04,0x02,0x00] +0x33,0x00,0x91,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0xa1,0xd4,0xf7,0x04,0x02,0x00] +0x34,0x00,0xa1,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0xb1,0xd4,0xc1,0x04,0x02,0x00] +0x35,0x00,0xb1,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0xc1,0xd4,0xc1,0x04,0x02,0x00] +0x36,0x00,0xc1,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xd1,0xd4,0xc1,0x04,0x02,0x00] +0x37,0x00,0xd1,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_u16_e64 s1, v2 ; encoding: [0x7e,0x00,0xb9,0xd4,0x01,0x04,0x02,0x00] +0x38,0x00,0xb9,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xc9,0xd4,0x01,0x04,0x02,0x00] +0x39,0x00,0xc9,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xd9,0xd4,0x02,0x04,0x02,0x00] +0x3a,0x00,0xd9,0xd4,0x02,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_i16_e64 -1, v2 ; encoding: [0x7e,0x00,0xb5,0xd4,0xc1,0x04,0x02,0x00] +0x3b,0x00,0xb5,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_i32_e64 -1, v2 ; encoding: [0x7e,0x00,0xc5,0xd4,0xc1,0x04,0x02,0x00] +0x3c,0x00,0xc5,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xd5,0xd4,0xc1,0x04,0x02,0x00] +0x3d,0x00,0xd5,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_u16_e64 s1, v2 ; encoding: [0x7e,0x00,0xbd,0xd4,0x01,0x04,0x02,0x00] +0x3e,0x00,0xbd,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xcd,0xd4,0x01,0x04,0x02,0x00] +0x3f,0x00,0xcd,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xdd,0xd4,0x02,0x04,0x02,0x00] +0x40,0x00,0xdd,0xd4,0x02,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_neq_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x8d,0xd4,0xf7,0x04,0x02,0x00] +0x41,0x00,0x8d,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_neq_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x9d,0xd4,0xf7,0x04,0x02,0x00] +0x42,0x00,0x9d,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_neq_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0xad,0xd4,0xf7,0x04,0x02,0x00] +0x43,0x00,0xad,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nge_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x89,0xd4,0xf7,0x04,0x02,0x00] +0x44,0x00,0x89,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nge_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x99,0xd4,0xf7,0x04,0x02,0x00] +0x45,0x00,0x99,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nge_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0xa9,0xd4,0xf7,0x04,0x02,0x00] +0x46,0x00,0xa9,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ngt_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x8b,0xd4,0xf7,0x04,0x02,0x00] +0x47,0x00,0x8b,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ngt_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x9b,0xd4,0xf7,0x04,0x02,0x00] +0x48,0x00,0x9b,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ngt_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0xab,0xd4,0xf7,0x04,0x02,0x00] +0x49,0x00,0xab,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nle_f16_e64 -1, v2 ; encoding: [0x7e,0x00,0x8c,0xd4,0xc1,0x04,0x02,0x00] +0x4a,0x00,0x8c,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nle_f32_e64 -1, v2 ; encoding: [0x7e,0x00,0x9c,0xd4,0xc1,0x04,0x02,0x00] +0x4b,0x00,0x9c,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nle_f64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xac,0xd4,0xc1,0x04,0x02,0x00] +0x4c,0x00,0xac,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlg_f16_e64 -1, v2 ; encoding: [0x7e,0x00,0x8a,0xd4,0xc1,0x04,0x02,0x00] +0x4d,0x00,0x8a,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlg_f32_e64 -1, v2 ; encoding: [0x7e,0x00,0x9a,0xd4,0xc1,0x04,0x02,0x00] +0x4e,0x00,0x9a,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlg_f64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xaa,0xd4,0xc1,0x04,0x02,0x00] +0x4f,0x00,0xaa,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlt_f16_e64 -1, v2 ; encoding: [0x7e,0x00,0x8e,0xd4,0xc1,0x04,0x02,0x00] +0x50,0x00,0x8e,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlt_f32_e64 -1, v2 ; encoding: [0x7e,0x00,0x9e,0xd4,0xc1,0x04,0x02,0x00] +0x51,0x00,0x9e,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlt_f64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xae,0xd4,0xc1,0x04,0x02,0x00] +0x52,0x00,0xae,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_o_f16_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x87,0xd4,0xf7,0x04,0x02,0x00] +0x53,0x00,0x87,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_o_f32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0x97,0xd4,0xf7,0x04,0x02,0x00] +0x54,0x00,0x97,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_o_f64_e64 -4.0, v[2:3] ; encoding: [0x7e,0x00,0xa7,0xd4,0xf7,0x04,0x02,0x00] +0x55,0x00,0xa7,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_t_i32_e64 -4.0, v2 ; encoding: [0x7e,0x00,0xc7,0xd4,0xf7,0x04,0x02,0x00] +0x56,0x00,0xc7,0xd4,0xf7,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_t_i64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xd7,0xd4,0xc1,0x04,0x02,0x00] +0x57,0x00,0xd7,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_t_u32_e64 s1, v2 ; encoding: [0x7e,0x00,0xcf,0xd4,0x01,0x04,0x02,0x00] +0x58,0x00,0xcf,0xd4,0x01,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_t_u64_e64 s[2:3], v[2:3] ; encoding: [0x7e,0x00,0xdf,0xd4,0x02,0x04,0x02,0x00] +0x59,0x00,0xdf,0xd4,0x02,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_t_f16_e64 -1, v2 ; encoding: [0x7e,0x00,0x8f,0xd4,0xc1,0x04,0x02,0x00] +0x5a,0x00,0x8f,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_t_f32_e64 -1, v2 ; encoding: [0x7e,0x00,0x9f,0xd4,0xc1,0x04,0x02,0x00] +0x5b,0x00,0x9f,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_t_f64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xaf,0xd4,0xc1,0x04,0x02,0x00] +0x5c,0x00,0xaf,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_u_f16_e64 -1, v2 ; encoding: [0x7e,0x00,0x88,0xd4,0xc1,0x04,0x02,0x00] +0x5d,0x00,0x88,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_u_f32_e64 -1, v2 ; encoding: [0x7e,0x00,0x98,0xd4,0xc1,0x04,0x02,0x00] +0x5e,0x00,0x98,0xd4,0xc1,0x04,0x02,0x00 + +# GFX11: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_u_f64_e64 -1, v[2:3] ; encoding: [0x7e,0x00,0xa8,0xd4,0xc1,0x04,0x02,0x00] +0x5f,0x00,0xa8,0xd4,0xc1,0x04,0x02,0x00 diff --git a/llvm/test/MC/Disassembler/AMDGPU/gfx12_vop3cx_warn.txt b/llvm/test/MC/Disassembler/AMDGPU/gfx12_vop3cx_warn.txt new file mode 100644 index 0000000000000..99a7976237344 --- /dev/null +++ b/llvm/test/MC/Disassembler/AMDGPU/gfx12_vop3cx_warn.txt @@ -0,0 +1,325 @@ +# RUN: llvm-mc -triple=amdgcn -mcpu=gfx1200 -mattr=+real-true16 -disassemble -show-encoding < %s 2>&1 | FileCheck -check-prefixes=GFX12 %s + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_class_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0xfd,0xd4,0x01,0x05,0x02,0x00] +0x00,0x00,0xfd,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_class_f32_e64 v1, v2 ; encoding: [0x7e,0x00,0xfe,0xd4,0x01,0x05,0x02,0x00] +0x01,0x00,0xfe,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_class_f64_e64 s[4:5], v2 ; encoding: [0x7e,0x00,0xff,0xd4,0x04,0x04,0x02,0x00] +0x02,0x00,0xff,0xd4,0x04,0x04,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x82,0xd4,0x01,0x05,0x02,0x00] +0x03,0x00,0x82,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_f32_e64 m0, 0.5 ; encoding: [0x7e,0x00,0x92,0xd4,0x7d,0xe0,0x01,0x00] +0x04,0x00,0x92,0xd4,0x7d,0xe0,0x01,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_f64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xa2,0xd4,0x01,0x05,0x02,0x00] +0x05,0x00,0xa2,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_i16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0xb2,0xd4,0x01,0x05,0x02,0x00] +0x06,0x00,0xb2,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_i32_e64 v1, v2 ; encoding: [0x7e,0x00,0xc2,0xd4,0x01,0x05,0x02,0x00] +0x07,0x00,0xc2,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_i64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xd2,0xd4,0x01,0x05,0x02,0x00] +0x08,0x00,0xd2,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_u16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0xba,0xd4,0x01,0x05,0x02,0x00] +0x09,0x00,0xba,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_u32_e64 v1, v2 ; encoding: [0x7e,0x00,0xca,0xd4,0x01,0x05,0x02,0x00] +0x0a,0x00,0xca,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_eq_u64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xda,0xd4,0x01,0x05,0x02,0x00] +0x0b,0x00,0xda,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x86,0xd4,0x01,0x05,0x02,0x00] +0x0c,0x00,0x86,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_f32_e64 s1, s2 ; encoding: [0x7e,0x00,0x96,0xd4,0x01,0x04,0x00,0x00] +0x0d,0x00,0x96,0xd4,0x01,0x04,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_f64_e64 vcc, ttmp[14:15] ; encoding: [0x7e,0x00,0xa6,0xd4,0x6a,0xf4,0x00,0x00] +0x0e,0x00,0xa6,0xd4,0x6a,0xf4,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_i16_e64 v255.l, v255.l ; encoding: [0x7e,0x00,0xb6,0xd4,0xff,0xff,0x03,0x00] +0x0f,0x00,0xb6,0xd4,0xff,0xff,0x03,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_i32_e64 m0, 0.5 ; encoding: [0x7e,0x00,0xc6,0xd4,0x7d,0xe0,0x01,0x00] +0x10,0x00,0xc6,0xd4,0x7d,0xe0,0x01,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_i64_e64 -1, -1 ; encoding: [0x7e,0x00,0xd6,0xd4,0xc1,0x82,0x01,0x00] +0x11,0x00,0xd6,0xd4,0xc1,0x82,0x01,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_u16_e64 s1, s2 ; encoding: [0x7e,0x00,0xbe,0xd4,0x01,0x04,0x00,0x00] +0x12,0x00,0xbe,0xd4,0x01,0x04,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_u32_e64 exec_lo, -1 ; encoding: [0x7e,0x00,0xce,0xd4,0x7e,0x82,0x01,0x00] +0x13,0x00,0xce,0xd4,0x7e,0x82,0x01,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ge_u64_e64 s[2:3], s[4:5] ; encoding: [0x7e,0x00,0xde,0xd4,0x02,0x08,0x00,0x00] +0x14,0x00,0xde,0xd4,0x02,0x08,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x84,0xd4,0x01,0x05,0x02,0x00] +0x15,0x00,0x84,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_f32_e64 s1, s2 ; encoding: [0x7e,0x00,0x94,0xd4,0x01,0x04,0x00,0x00] +0x16,0x00,0x94,0xd4,0x01,0x04,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_f64_e64 v[254:255], v[254:255] ; encoding: [0x7e,0x00,0xa4,0xd4,0xfe,0xfd,0x03,0x00] +0x17,0x00,0xa4,0xd4,0xfe,0xfd,0x03,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_i16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0xb4,0xd4,0x01,0x05,0x02,0x00] +0x18,0x00,0xb4,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_i32_e64 m0, 0.5 ; encoding: [0x7e,0x00,0xc4,0xd4,0x7d,0xe0,0x01,0x00] +0x19,0x00,0xc4,0xd4,0x7d,0xe0,0x01,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_i64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xd4,0xd4,0x01,0x05,0x02,0x00] +0x1a,0x00,0xd4,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_u16_e64 v1.h, v2.l op_sel:[1,0,0] ; encoding: [0x7e,0x08,0xbc,0xd4,0x01,0x05,0x02,0x00] +0x1b,0x08,0xbc,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_u32_e64 v1, v2 ; encoding: [0x7e,0x00,0xcc,0xd4,0x01,0x05,0x02,0x00] +0x1c,0x00,0xcc,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_gt_u64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xdc,0xd4,0x01,0x05,0x02,0x00] +0x1d,0x00,0xdc,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_f16_e64 s1, s2 ; encoding: [0x7e,0x00,0x83,0xd4,0x01,0x04,0x00,0x00] +0x1e,0x00,0x83,0xd4,0x01,0x04,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_f32_e64 s1, s2 ; encoding: [0x7e,0x00,0x93,0xd4,0x01,0x04,0x00,0x00] +0x1f,0x00,0x93,0xd4,0x01,0x04,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_f64_e64 s[104:105], s[104:105] ; encoding: [0x7e,0x00,0xa3,0xd4,0x68,0xd0,0x00,0x00] +0x20,0x00,0xa3,0xd4,0x68,0xd0,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_i16_e64 v255.l, v255.l ; encoding: [0x7e,0x00,0xb3,0xd4,0xff,0xff,0x03,0x00] +0x21,0x00,0xb3,0xd4,0xff,0xff,0x03,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_i32_e64 m0, 0.5 ; encoding: [0x7e,0x00,0xc3,0xd4,0x7d,0xe0,0x01,0x00] +0x22,0x00,0xc3,0xd4,0x7d,0xe0,0x01,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_i64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xd3,0xd4,0x01,0x05,0x02,0x00] +0x23,0x00,0xd3,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_u16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0xbb,0xd4,0x01,0x05,0x02,0x00] +0x24,0x00,0xbb,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_u32_e64 s105, s105 ; encoding: [0x7e,0x00,0xcb,0xd4,0x69,0xd2,0x00,0x00] +0x25,0x00,0xcb,0xd4,0x69,0xd2,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_le_u64_e64 s[2:3], s[4:5] ; encoding: [0x7e,0x00,0xdb,0xd4,0x02,0x08,0x00,0x00] +0x26,0x00,0xdb,0xd4,0x02,0x08,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lg_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x85,0xd4,0x01,0x05,0x02,0x00] +0x27,0x00,0x85,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lg_f32_e64 s1, s2 ; encoding: [0x7e,0x00,0x95,0xd4,0x01,0x04,0x00,0x00] +0x28,0x00,0x95,0xd4,0x01,0x04,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lg_f64_e64 s[2:3], s[4:5] ; encoding: [0x7e,0x00,0xa5,0xd4,0x02,0x08,0x00,0x00] +0x29,0x00,0xa5,0xd4,0x02,0x08,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_f16_e64 v255.l, v255.l ; encoding: [0x7e,0x00,0x81,0xd4,0xff,0xff,0x03,0x00] +0x2a,0x00,0x81,0xd4,0xff,0xff,0x03,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_f32_e64 v1, v2 ; encoding: [0x7e,0x00,0x91,0xd4,0x01,0x05,0x02,0x00] +0x2b,0x00,0x91,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_f64_e64 s[104:105], s[104:105] ; encoding: [0x7e,0x00,0xa1,0xd4,0x68,0xd0,0x00,0x00] +0x2c,0x00,0xa1,0xd4,0x68,0xd0,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_i16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0xb1,0xd4,0x01,0x05,0x02,0x00] +0x2d,0x00,0xb1,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_i32_e64 s1, s2 ; encoding: [0x7e,0x00,0xc1,0xd4,0x01,0x04,0x00,0x00] +0x2e,0x00,0xc1,0xd4,0x01,0x04,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_i64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xd1,0xd4,0x01,0x05,0x02,0x00] +0x2f,0x00,0xd1,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_u16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0xb9,0xd4,0x01,0x05,0x02,0x00] +0x30,0x00,0xb9,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_u32_e64 s1, s2 ; encoding: [0x7e,0x00,0xc9,0xd4,0x01,0x04,0x00,0x00] +0x31,0x00,0xc9,0xd4,0x01,0x04,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_lt_u64_e64 -1, -1 ; encoding: [0x7e,0x00,0xd9,0xd4,0xc1,0x82,0x01,0x00] +0x32,0x00,0xd9,0xd4,0xc1,0x82,0x01,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_i16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0xb5,0xd4,0x01,0x05,0x02,0x00] +0x33,0x00,0xb5,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_i32_e64 s1, s2 ; encoding: [0x7e,0x00,0xc5,0xd4,0x01,0x04,0x00,0x00] +0x34,0x00,0xc5,0xd4,0x01,0x04,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_i64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xd5,0xd4,0x01,0x05,0x02,0x00] +0x35,0x00,0xd5,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_u16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0xbd,0xd4,0x01,0x05,0x02,0x00] +0x36,0x00,0xbd,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_u32_e64 s105, s105 ; encoding: [0x7e,0x00,0xcd,0xd4,0x69,0xd2,0x00,0x00] +0x37,0x00,0xcd,0xd4,0x69,0xd2,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ne_u64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xdd,0xd4,0x01,0x05,0x02,0x00] +0x38,0x00,0xdd,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_neq_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x8d,0xd4,0x01,0x05,0x02,0x00] +0x39,0x00,0x8d,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_neq_f32_e64 v1, v2 ; encoding: [0x7e,0x00,0x9d,0xd4,0x01,0x05,0x02,0x00] +0x3a,0x00,0x9d,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_neq_f64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xad,0xd4,0x01,0x05,0x02,0x00] +0x3b,0x00,0xad,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nge_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x89,0xd4,0x01,0x05,0x02,0x00] +0x3c,0x00,0x89,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nge_f32_e64 s105, s105 ; encoding: [0x7e,0x00,0x99,0xd4,0x69,0xd2,0x00,0x00] +0x3d,0x00,0x99,0xd4,0x69,0xd2,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nge_f64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xa9,0xd4,0x01,0x05,0x02,0x00] +0x3e,0x00,0xa9,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ngt_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x8b,0xd4,0x01,0x05,0x02,0x00] +0x3f,0x00,0x8b,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ngt_f32_e64 s1, s2 ; encoding: [0x7e,0x00,0x9b,0xd4,0x01,0x04,0x00,0x00] +0x40,0x00,0x9b,0xd4,0x01,0x04,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_ngt_f64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xab,0xd4,0x01,0x05,0x02,0x00] +0x41,0x00,0xab,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nle_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x8c,0xd4,0x01,0x05,0x02,0x00] +0x42,0x00,0x8c,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nle_f32_e64 v1, v2 ; encoding: [0x7e,0x00,0x9c,0xd4,0x01,0x05,0x02,0x00] +0x43,0x00,0x9c,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nle_f64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xac,0xd4,0x01,0x05,0x02,0x00] +0x44,0x00,0xac,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlg_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x8a,0xd4,0x01,0x05,0x02,0x00] +0x45,0x00,0x8a,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlg_f32_e64 m0, 0.5 ; encoding: [0x7e,0x00,0x9a,0xd4,0x7d,0xe0,0x01,0x00] +0x46,0x00,0x9a,0xd4,0x7d,0xe0,0x01,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlg_f64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xaa,0xd4,0x01,0x05,0x02,0x00] +0x47,0x00,0xaa,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlt_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x8e,0xd4,0x01,0x05,0x02,0x00] +0x48,0x00,0x8e,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlt_f32_e64 s1, s2 ; encoding: [0x7e,0x00,0x9e,0xd4,0x01,0x04,0x00,0x00] +0x49,0x00,0x9e,0xd4,0x01,0x04,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_nlt_f64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xae,0xd4,0x01,0x05,0x02,0x00] +0x4a,0x00,0xae,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_o_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x87,0xd4,0x01,0x05,0x02,0x00] +0x4b,0x00,0x87,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_o_f32_e64 v1, v2 ; encoding: [0x7e,0x00,0x97,0xd4,0x01,0x05,0x02,0x00] +0x4c,0x00,0x97,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_o_f64_e64 s[2:3], s[4:5] ; encoding: [0x7e,0x00,0xa7,0xd4,0x02,0x08,0x00,0x00] +0x4d,0x00,0xa7,0xd4,0x02,0x08,0x00,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_u_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x88,0xd4,0x01,0x05,0x02,0x00] +0x4e,0x00,0x88,0xd4,0x01,0x05,0x02,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_u_f32_e64 m0, 0.5 ; encoding: [0x7e,0x00,0x98,0xd4,0x7d,0xe0,0x01,0x00] +0x4f,0x00,0x98,0xd4,0x7d,0xe0,0x01,0x00 + +# GFX12: [[@LINE+2]]:1: warning: potentially undefined instruction encoding +# v_cmpx_u_f64_e64 v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xa8,0xd4,0x01,0x05,0x02,0x00] +0x50,0x00,0xa8,0xd4,0x01,0x05,0x02,0x00